加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 在与sed匹配之前删除所有行

发布时间:2020-12-14 06:28:27 所属栏目:百科 来源:网络整理
导读:我使用sed来过滤文件列表.我有一个排序的文件夹列表,我想得到所有的行后一个特定的.为了做这个任务,我使用了描述 here的解决方案,它与我尝试过的任何输入工作相当不错,但是当匹配在第一行时它不起作用.在这种情况下,sed将会删除输入的所有行 这是一个例子:
我使用sed来过滤文件列表.我有一个排序的文件夹列表,我想得到所有的行后一个特定的.为了做这个任务,我使用了描述 here的解决方案,它与我尝试过的任何输入工作相当不错,但是当匹配在第一行时它不起作用.在这种情况下,sed将会删除输入的所有行

这是一个例子:

(ssh) fabio@s2 : ~
[0] % ls -1 /
bin
boot
...
sys
tmp
usr
var
vmlinuz

(ssh) fabio@s2 : ~
[0] % ls -1 / | sed '1,/tmp/d'
usr
var
vmlinuz

(ssh) fabio@s2 : ~
[0] % ls -1 / | sed '1,/^bin$/d'
# sed will delete all lines from the input stream

如何更改命令以考虑第一行与regexp匹配的极限情况?

BTW sed’1,1d’正确地工作并删除第一行.

尝试这个(仅限GNU sed):
sed '0,/^bin$/d'

..输出是:

$sed '0,/^bin$/d' file
boot
...
sys
tmp
usr
var
vmlinuz

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读