MEMASUKKAN:
Select ASDF 325 sdfg sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg sdfg 4456 sdrg
KELUARAN:
Select ASDF 325 XXXX sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg XXXX 4456 sdrg
Jadi singkatnya saya perlu "sed" "sdfg" ke "XXXX".
TETAPI: hanya di baris yang berisi string "Pilih ASDF" .. Bagaimana saya bisa melakukan ini? (sed, awk, dll.: \)
g
setelah terakhir=
(di akhirs
perintah). Akan seperti ini:sed '/Select ASDF/ s=sdfg=XXXX=g'
Jika Anda hanya mengubah kolom 4 jika memiliki nilai yang tepat, maka menggunakan operator kesetaraan bukan ekspresi reguler masuk akal.
sumber
Menggunakan
GNU awk
:Keluaran:
UPDATE : Hindari
IGNORECASE
untuk non-GNUawk
, dan cocok dengan huruf besar-kecil. Terima kasih kepada jw013 , yang menunjukkan detail itu:sumber
IGNORECASE
adalah GNUawk
/gawk
ekstensi.ASDF