小编Alb*_*t H的帖子

使用sed匹配模式并从行中删除到文件末尾

我正在尝试匹配来自管道输入和/或文件的模式,然后从匹配的行中删除到文件的末尾,包括.我到处寻找,但似乎找不到符合我需要的表达方式.

以下表达式允许我删除到流的开头,包括匹配的模式:

sed -e '1,/Files:/d'
Run Code Online (Sandbox Code Playgroud)

给出一些样本数据:

Blah blah blah
Foobar foo foo
Files:
 somefiles.tar.gz 1 2 3
 somefiles.tar.gz 1 2 3

-----THIS STUFF IS USELESS-----
BLEH BLEH BLEH
BLEH BLEH BLEH
Run Code Online (Sandbox Code Playgroud)

运行上面的表达式会产生:

Files:
 somefiles.tar.gz 1 2 3
 somefiles.tar.gz 1 2 3

-----THIS STUFF IS USELESS-----
BLEH BLEH BLEH
BLEH BLEH BLEH
Run Code Online (Sandbox Code Playgroud)

我想达到类似的效果,但方向相反.使用前一个表达式的输出,我想删除-----THIS STUFF IS USELESS-----文件的末尾,包括.它应该产生(在经过第一个表达式之后):

Files:
 somefiles.tar.gz 1 2 3
 somefiles.tar.gz 1 2 3
Run Code Online (Sandbox Code Playgroud)

我也愿意使用任何其他工具,只要它可以在任何其他POSIX系统上使用,并且不使用特定于版本(例如GNU特定)的选项.

实际文本可以在这里找到:http://pastebin.com/CYBbJ3qr 注意从更改-----THIS STUFF IS USELESS----------BEGIN PGP SIGNATURE----- …

regex unix linux bash sed

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

bash ×1

linux ×1

regex ×1

sed ×1

unix ×1