入力する:
Select ASDF 325 sdfg sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg sdfg 4456 sdrg
出力:
Select ASDF 325 XXXX sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg XXXX 4456 sdrg
つまり、「sed」「sdfg」を「XXXX」に変換する必要があります。
ただし、「Select ASDF」文字列を含む行でのみ可能です。どうすればいいですか? (sed, awk など:\)
ベストアンサー1
ほとんどのsedコマンドの前に以下を付けることができます。住所適用される行を制限します。アドレスは行番号または区切りの正規表現です/
。
cat INPUT | sed '/Select ASDF/ s=sdfg=XXXX='
Peter.Oが述べたように、上記のコマンドは埋め込まれsdfg
た文字列に最初に現れるものを置き換えますSelect ASDF
。正確に一致する項目をsdfg
4列目の大文字と小文字に置き換えるには、次の手順を実行する必要があります。
cat INPUT | sed 's/\(^Select ASDF [^ ]* \)sdfg /\1XXXX /'