Questo sed comando aggiungerà q alla fine della prima riga del file.
sed ' 1 s/.*/&123/' yourfile.txt
anche
sed '1 s/$/ 123/' yourfile.txt
Per aggiungere il risultato allo stesso file devi usare -i cambia :
sed -i ' 1 s/.*/&123/' yourfile.txt
Questa è una soluzione per aggiungere "ok" alla prima riga su /etc/passwd , penso che tu possa usarlo nel tuo script con un po' di 'messa a punto' :
$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok
Per modificare un file, puoi usare ed , l'editor standard:
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 comandi di:
1:vai alla riga 1a:append (questo verrà inserito dopo la riga corrente)- Siamo in modalità inserimento e stiamo inserendo l'espansione di
$line .:interrompe la modalità di inserimento1,2junire le righe 1 e 2w:scrivereq:esci