awk用于通过下划线分隔单词

3

我很不擅长使用awk,但我知道它对于字符操作非常有用。

我有一个如下形式的文件:

JohnSmith_name    3.4     
KellySears_name   5.7
RonaldBay_name    1.2     
RayShendor_name   2.8

我想要读取文件并从真实姓名中基本删除_name标签,然后打印出该行。我如何使用awk实现这一点?谢谢!
4个回答

4
我认为在这种情况下,你可以更轻松地使用sed,而不是awk
$ sed s/_name// file
JohnSmith    3.4     
KellySears   5.7
RonaldBay    1.2     
RayShendor   2.8

3
你可以这样做:
awk -F "_name" '{ print $1.$2 }' file

3
您可以使用

标签


 awk '{sub("_name",""); print}'

(不过,正如Carl Norum所说的那样-sed可能更好)

2

传统的方式:

$ while read col1 col2; do echo -e "${col1%_*}\t$col2"; done < file
JohnSmith   3.4
KellySears  5.7
RonaldBay   1.2
RayShendor  2.8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接