sed
ini perintah akan menambahkan 123
ke akhir baris pertama file Anda.
sed ' 1 s/.*/&123/' yourfile.txt
juga
sed '1 s/$/ 123/' yourfile.txt
Untuk menambahkan hasil ke file yang sama, Anda harus menggunakan -i
beralih :
sed -i ' 1 s/.*/&123/' yourfile.txt
Ini adalah solusi untuk menambahkan "ok" di baris pertama pada /etc/passwd
, saya pikir Anda dapat menggunakan ini dalam skrip Anda dengan sedikit 'penyetelan' :
$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok
Untuk mengedit file, Anda dapat menggunakan ed
, editor standar:
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
perintah:
1
:pergi ke baris 1a
:tambahkan (ini akan disisipkan setelah baris saat ini)- Kita sedang dalam mode penyisipan dan kita sedang menyisipkan perluasan
$line
.
:hentikan mode penyisipan1,2j
gabungkan baris 1 dan 2w
:tulisq
:berhenti