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