我使用awk非常糟糕,但我知道它对于应变操作非常有用。
我有一个以下形式的文件:
JohnSmith_name 3.4
KellySears_name 5.7
RonaldBay_name 1.2
RayShendor_name 2.8
我想读取文件,基本上从实名中删除_name标签并打印该行。我怎么能用awk做到这一点?
谢谢!
答案 0 :(得分:4)
在这种情况下,您可以比sed
更轻松地使用awk
,我认为:
$ sed s/_name// file
JohnSmith 3.4
KellySears 5.7
RonaldBay 1.2
RayShendor 2.8
答案 1 :(得分:3)
您可以使用
awk '{sub("_name",""); print}'
(但正如Carl Norum所说 - sed可能会更好)
答案 2 :(得分:3)
你可以这样做:
awk -F "_name" '{ print $1.$2 }' file
答案 3 :(得分:2)
好的'bash
方式:
$ while read col1 col2; do echo -e "${col1%_*}\t$col2"; done < file
JohnSmith 3.4
KellySears 5.7
RonaldBay 1.2
RayShendor 2.8