linux – sed:如何删除匹配包含正斜杠的模式的行?

linux – sed:如何删除匹配包含正斜杠的模式的行?,第1张

概述假设文件/ etc / fstab包含以下内容: /dev/xvda1 / ext4 defaults 1 1/dev/md0 /mnt/ibsraid xfs defaults,noatime 0 2/mnt/ibsraid/varlog /var/log none bind 0 0/dev/xvdb None auto defa 假设文件/ etc / fstab包含以下内容:
/dev/xvda1 / ext4 defaults 1 1/dev/md0    /mnt/ibsraID    xfs defaults,noatime    0   2/mnt/ibsraID/varlog /var/log    none    bind    0   0/dev/xvdb   None    auto    defaults,nobootwait 0   2

我想删除以/ dev / xvdb开头的行.所以我试过:

$sed '/^/dev/xvdb/d' /etc/fstabsed: -e Expression #1,char 5: extra characters after command$sed '?^/dev/xvdb?d' /etc/fstabsed: -e Expression #1,char 1: unkNown command: `?'$sed '|^/dev/xvdb|d' /etc/fstabsed: -e Expression #1,char 1: unkNown command: `|'

这些都不行.我试着改变分隔符?和|因为当模式包含/时,这样做适用于sed替换命令.

我在Debian上使用GNU Sed 4.2.1.

解决方法 你很近对于模式分隔符(如| pattern |)使用非标准字符时,必须首先使用该字符进行转义:
$sed '\|^/dev/xvdb|d' /etc/fstab/dev/xvda1 / ext4 defaults 1 1/dev/md0    /mnt/ibsraID    xfs defaults,noatime    0   2/mnt/ibsraID/varlog /var/log    none    bind    0   0

同样,可以使用:

sed '\?^/dev/xvdb?d' /etc/fstab

最后,可以使用/ pattern /中的斜线,如果它们以您在答案中显示的方式进行转义.

总结

以上是内存溢出为你收集整理的linux – sed:如何删除匹配包含正斜杠的模式的行?全部内容,希望文章能够帮你解决linux – sed:如何删除匹配包含正斜杠的模式的行?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存