私のファイルには次の内容が含まれています。
rat|minty|ruhul|balaji|rat_123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
rat|minty|ruhul|balaji|rat1_123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
rat|minty|ruhul|balaji|rat2_123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
5番目のフィールドでのみ_
交換する必要があります。|
予想出力:
rat|minty|ruhul|balaji|rat|123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
rat|minty|ruhul|balaji|rat1|123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
rat|minty|ruhul|balaji|rat2|123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
ベストアンサー1
とともにawk
、使用するgsub()
5番裁判所:
$ awk 'BEGIN{FS=OFS="|"} {gsub("_",FS,$5)}1' file
rat|minty|ruhul|balaji|rat|123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
rat|minty|ruhul|balaji|rat1|123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
rat|minty|ruhul|balaji|rat2|123|decode|rat_123|abc|def|ghi|jkl|rat|cde|ind|rat
説明する
BEGIN{FS=OFS="|"}
フィールド区切り記号をに設定します|
。このようにして、私たちはそれを$5
5番目のフィールドとして扱うことができます。{gsub("_",FS,$5)}
_
フィールド5のすべての項目をFS
。つまり、|
。1
awkのデフォルト動作をトリガーします。現在の(変更された)レコードを印刷します。