Toto sed
příkaz přidá 123
na konec prvního řádku vašeho souboru.
sed ' 1 s/.*/&123/' yourfile.txt
také
sed '1 s/$/ 123/' yourfile.txt
Pro připojení výsledku ke stejnému souboru musíte použít -i
přepínač :
sed -i ' 1 s/.*/&123/' yourfile.txt
Toto je řešení přidat "ok" na první řádek /etc/passwd
, Myslím, že to můžete použít ve svém skriptu s trochou 'ladění':
$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok
Chcete-li upravit soubor, můžete použít ed
, standardní editor:
line=' bcm2708.w1_gpio_pin=20'
file=/boot/cmdline.txt
if ! grep -q -x -F -e "$line" <"$file"; then
ed -s "$file" < <(printf '%s\n' 1 a "$line" . 1,2j w q)
fi
ed
Příkazy uživatele:
1
:přejděte na řádek 1a
:append (vloží se za aktuální řádek)- Jsme v režimu vkládání a vkládáme rozšíření
$line
.
:zastavení režimu vkládání1,2j
spojte řádky 1 a 2w
:psátq
:ukončit