匹配字符后删除单词

时间:2015-06-04 15:12:51

标签: unix awk sed

我有一个文件,其中模式中有一些行。我想在_之后删除文字。我如何在unix中做到这一点?

x y z 1_2 3_4 5_6

我试过这个命令:

$ sed 's/_.*//' 

但它返回:

x y z 1

然而我想要

x y z 1 3 5

由于

1 个答案:

答案 0 :(得分:4)

只需删除每个_ +字符:

$ echo "x y z 1_2 3_4 5_6" | sed 's/_\w//g'
x y z 1 3 5

或者,如果要删除最多空格,请删除所有非空格字符:

sed 's/_[^ ]*//g'