这只是出于好奇。
我有一个像这样的制表符分隔文件
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 替换了香蕉这个词的行中的制表符:
awk '{gsub(/banana/,0,$1)}; {print}' file > outfile
我如何使用OFS
或类似的东西打印出替换的行而不替换标签。我一直在玩,没有进展。记住:没有printf