正则表达式 – 使用sed匹配模式并从文件行的尾部删除

前端之家收集整理的这篇文章主要介绍了正则表达式 – 使用sed匹配模式并从文件行的尾部删除前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试匹配管道输入和/或文件中的模式,然后从匹配的行中删除文件的末尾(包括).我看到无处不在,但似乎找不到符合我需求的表达.

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

sed -e '1,/Files:/d'

给出一些样本数据:

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

运行上述表达式生成

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

-----THIS STUFF IS USELESS-----
BLEH BLEH BLEH
BLEH BLEH BLEH

我想实现类似的效果,但是反方向.使用前一个表达式的输出,我想从—–这个STUFF是无用的—–到文件的末尾(包括)删除.它应该产生(经过第一个表达):

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

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

实际文字可以在这里找到:http://pastebin.com/CYBbJ3qr
注意从—–这个STUFF无效的更改—–到—–开始PGP签名—–.

为什么不
sed '/^-----THIS STUFF IS USELESS-----$/,$d' file

在像你使用的范围表达式中,’,$’将指定“到文件的末尾”

1 is first line in file,$is last line in file.

产量

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

IHTH

原文链接:https://www.f2er.com/regex/356647.html

猜你在找的正则表达式相关文章