Bash 如何在指定字符之前剪切行?

Bash 如何在指定字符之前剪切行?,bash,shell,scripting,Bash,Shell,Scripting,我想在Bash中删去单词“Number”之前的一行。我怎么做 一个数字的地图和东西 两个数字-其他事物 三杯饮料 四种食物 所以,我希望得到这样的输出 地图和资料 其他事项 饮料 食物 谢谢大家! 假设这些行位于文件中,并使用sed执行以下命令 sed -e 's/^.*- Number //g' file 将以该形式输出到stdout。要更改实际文件使用,请执行以下操作: sed -i -e 's/^.*- Number //g' file 或将输出重定向到新文件: sed -e 's/^

我想在Bash中删去单词“Number”之前的一行。我怎么做

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

所以,我希望得到这样的输出

地图和资料
其他事项
饮料
食物


谢谢大家!

假设这些行位于
文件中,并使用
sed
执行以下命令

sed -e 's/^.*- Number //g' file
将以该形式输出到stdout。要更改实际文件使用,请执行以下操作:

sed -i -e 's/^.*- Number //g' file
或将输出重定向到新文件:

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

下面是另一种使用普通'ol
bash
的方法:

$ while read -r line; do echo ${line#*Number}; done < file
Maps and Stuff
Other Things
Drinks
Foods
$whileread-r行;do echo${line#*Number};完成<文件
地图之类的
其他事情
饮料
食品