Ce sed
la commande ajoutera 123
à la fin de la première ligne de votre fichier.
sed ' 1 s/.*/&123/' yourfile.txt
aussi
sed '1 s/$/ 123/' yourfile.txt
Pour ajouter le résultat au même fichier, vous devez utiliser -i
bascule :
sed -i ' 1 s/.*/&123/' yourfile.txt
Ceci est une solution pour ajouter "ok" à la première ligne sur /etc/passwd
, je pense que vous pouvez l'utiliser dans votre script avec un peu de "réglage" :
$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok
Pour modifier un fichier, vous pouvez utiliser ed
, l'éditeur 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
commandes :
1
:aller à la ligne 1a
:ajouter (cela s'insérera après la ligne courante)- Nous sommes en mode insertion et nous insérons l'expansion de
$line
.
:arrêter le mode d'insertion1,2j
joindre les lignes 1 et 2w
:écrireq
:quitter