1
這只是爲了好奇。不使用printf的花式awk輸出
我有一個製表符分隔的文件中像這樣
jklh banana hk
hkl klh jklh
h hk banana
h hk kljh
asdf banana lk
sdfa jklæ jklæ
banana sdf jklæ
通過這樣做,我在第一列取代「香蕉」和輸出保持否則相同:
awk '{gsub(/banana/,0,$1)}; {printf "%s\t%s\t%s\n", $1, $2, $3}' file > outfile
這在其他用手中的空格代替標籤,我用0替換單詞banana:
awk '{gsub(/banana/,0,$1)}; {print}' file > outfile
怎麼樣ca n我使用OFS
或類似的東西來打印出替換的行而不需要替換標籤。我一直在玩很多沒有進步。記住:printf
我錯過了「-v」 – AWE
@AWE:替代品:您可以通過將其在最後使用它沒有了'-v' :'awk'{...}'OFS =「\ t」inputfile'或者在BEGIN塊中:awk BEGIN {OFS =「\ t」} {...}'inputfile' –
不知何故,我沒有當我嘗試時,沒有絆倒任何正確的選擇。我現在看到我經常靠近。 – AWE