Dieses sed
Befehl fügt 123
hinzu bis zum Ende der ersten Zeile Ihrer Datei.
sed ' 1 s/.*/&123/' yourfile.txt
auch
sed '1 s/$/ 123/' yourfile.txt
Um das Ergebnis an dieselbe Datei anzuhängen, müssen Sie -i
verwenden Schalter :
sed -i ' 1 s/.*/&123/' yourfile.txt
Dies ist eine Lösung, um "ok" in der ersten Zeile von /etc/passwd
hinzuzufügen , ich denke, Sie können dies mit ein wenig "Tuning" in Ihrem Skript verwenden :
$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok
Zum Bearbeiten eine Datei, können Sie ed
verwenden , der Standardeditor:
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
Befehle von :
1
:Gehe zu Zeile 1a
:anhängen (dies wird nach der aktuellen Zeile eingefügt)- Wir befinden uns im Einfügemodus und fügen die Erweiterung von
$line
ein .
:Einfügemodus stoppen1,2j
Verbinde die Linien 1 und 2w
:schreibenq
:beenden