我真的不擅长使用 awk,但我知道它对应变操作非常有用。
我有一个格式的文件:
JohnSmith_name 3.4
KellySears_name 5.7
RonaldBay_name 1.2
RayShendor_name 2.8
我想读取文件并基本上从真实姓名中剥离 _name 标签并打印该行。我怎样才能使用 awk 做到这一点?
谢谢!
我真的不擅长使用 awk,但我知道它对应变操作非常有用。
我有一个格式的文件:
JohnSmith_name 3.4
KellySears_name 5.7
RonaldBay_name 1.2
RayShendor_name 2.8
我想读取文件并基本上从真实姓名中剥离 _name 标签并打印该行。我怎样才能使用 awk 做到这一点?
谢谢!
你可以sed
比awk
在这种情况下更容易使用,我认为:
$ sed s/_name// file
JohnSmith 3.4
KellySears 5.7
RonaldBay 1.2
RayShendor 2.8
你可以这样做:
awk -F "_name" '{ print $1.$2 }' file
您可以使用
awk '{sub("_name",""); print}'
(但是正如 Carl Norum 所说 - sed 可能会更好)
好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