我正在尝试匹配来自管道输入和/或文件的模式,然后从匹配的行中删除到文件的末尾,包括.我到处寻找,但似乎找不到符合我需要的表达方式.
以下表达式允许我删除到流的开头,包括匹配的模式:
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----- …