Regex 用下划线分隔单词的awk

Regex 用下划线分隔单词的awk,regex,awk,underscore.js,Regex,Awk,Underscore.js,我真的很不擅长使用awk,但我知道它对应变操作非常有用 我有一份表格文件: JohnSmith_name 3.4 KellySears_name 5.7 RonaldBay_name 1.2 RayShendor_name 2.8 我想读取文件,基本上从真实姓名中去掉_name标签,然后打印这行。我怎样才能用awk做到这一点 谢谢 在这种情况下,使用sed比使用awk更容易,我认为: $sed s/\u name//文件 约翰史密斯3.4 KellySe

我真的很不擅长使用awk,但我知道它对应变操作非常有用

我有一份表格文件:

JohnSmith_name    3.4     
KellySears_name   5.7
RonaldBay_name    1.2     
RayShendor_name   2.8
我想读取文件,基本上从真实姓名中去掉_name标签,然后打印这行。我怎样才能用awk做到这一点


谢谢

在这种情况下,使用
sed
比使用
awk
更容易,我认为:

$sed s/\u name//文件
约翰史密斯3.4
KellySears 5.7
罗纳德湾1.2
雷申多2.8
您可以使用

 awk '{sub("_name",""); print}'
(然而,正如卡尔·诺伦所说的-sed可能更好)

您可以这样做:

awk -F "_name" '{ print $1.$2 }' file

好的ol'
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
$whilereadcol1 col2;do echo-e“${col1%\u*}\ t$col2”;完成<文件
约翰史密斯3.4
KellySears 5.7
罗纳德湾1.2
雷申多2.8