Jawaban:
Jika Anda mencocokkan substring dari seluruh baris, Anda bisa menggunakan s
perintah sed dengan regex untuk menghapus sisa baris:
sed -i 's/^.*foo.*$/another string/' myfile.txt
atau gunakan c
perintah untuk mengganti baris yang cocok dalam sekali jalan:
sed -i '/foo/ { c \
another string
}' myfile.txt
Jika Anda tidak ingin mengetikkan perintah multiline saat diminta, Anda dapat memasukkannya ke dalam skrip:
$ cat foo.sed
/foo/ { c \
another string
}
$ sed -i -f foo.sed myfile.txt
}'
ada pada baris yang terpisah dari another string
: penggantian adalah segalanya pada baris kedua, termasuk }
jika Anda menaruhnya di sana.