如何在指定字符前剪切线?

时间:2015-01-23 00:57:54

标签: bash shell scripting

我想在Bash中的“数字”一词之前删除该行。我该怎么办?

一个 - 数字地图和东西
 两个数字其他事物  三 - 数饮料  四 - 食品数量

所以,我想得到像这样的输出;

地图和东西
其他事情
饮料
食品

谢谢!

2 个答案:

答案 0 :(得分:1)

假设这些行位于file并使用sed,则以下命令将执行您所要求的操作。

sed -e 's/^.*- Number //g' file

那将以该形式输出到stdout。要更改实际文件使用:

sed -i -e 's/^.*- Number //g' file

或者将输出重定向到新文件:

sed -e 's/^.*- Number //g' file > newfile

答案 1 :(得分:0)

这是另一种使用普通&{39} ol bash的方法:

$ while read -r line; do echo ${line#*Number}; done < file
Maps and Stuff
Other Things
Drinks
Foods