Bash - 删除以数字结尾的行

时间:2015-08-31 19:27:17

标签: linux bash

我只需要删除以数字结尾的行(在文本文件中)。

在:

1987 Robocop
1990 Robocop 2 
1993 Robocop 3 
2014 Robocop

后:

1987 Robocop
2014 Robocop

2 个答案:

答案 0 :(得分:4)

由于您引用了我的favorite movie,我会回答:

sed '/[ \t][0-9][0-9]*[ \t]*$/d' movies.txt

转换为:

  

删除任何有空格或制表符的行,后跟至少一个数字,然后删除行尾的任意数量的空格或制表符。

在Linux上有更简洁的方式来表示这一点,但我给了你一个为便携性而努力的方法。

答案 1 :(得分:1)

使用GNU sed:

sed '/[0-9]$/d' file

如果您想“编辑”,请添加选项-i