shell的sed工具,如何删除一个文件中包含了特殊路径字符串的行? 例如文件file,里面有内容,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell的sed工具,如何删除一个文件中包含了特殊路径字符串的行? 例如文件file,里面有内容,相关的知识,希望对你有一定的参考价值。

shell的sed工具,如何删除一个文件中包含了特殊路径字符串的行?
例如文件file,里面有内容,其中有一行包含路径
/opt/pub/test/aaa.txt

我想通过sed对该文件进行处理,将包含了pub/test/aaa.txt的行删除。

sed 's;pub/test/aaa.txt;d' file
sed命令的s后面第一个字符就是分隔符,分隔符跟你说的特殊字符不一样就可以了。
参考技术A sed -i '/pub\/test\/aaa.txt/d' filename 参考技术B DADAD

删除包含指定单词的所有行[重复]

【中文标题】删除包含指定单词的所有行[重复]【英文标题】:Deletes all lines containing a specified word [duplicate] 【发布时间】:2016-03-09 23:36:50 【问题描述】:

我想编写一个 shell 脚本,它将删除一个或多个作为参数提供的文件中包含指定单词的所有行。我该怎么做?

我是一个shell脚本的初学者。所以如果你用详细说明它是如何工作的来回答的,那将非常有帮助。

【问题讨论】:

这必须是某些东西的副本。你会想要使用sed。类似sed '/magicword/d' file 说某事是骗人的,没有检查没有帮助。 感谢您追踪那个人。还添加了一个标志。 Tanvir Rahman,这个网站到处都有很多答案,尤其是对于您怀疑并不罕见的行为。尝试使用搜索框,或者在 Google 搜索中使用您的问题 + ***。 【参考方案1】:

sed delete 命令可以轻松完成:

$ cat foo.txt 
apple
pear
peach
banana
orange

$sed -ie '/pea/d' foo.txt

$ cat foo.txt 
apple
banana
orange

这只是搜索pea 并使用d(删除)命令将其删除。

【讨论】:

以上是关于shell的sed工具,如何删除一个文件中包含了特殊路径字符串的行? 例如文件file,里面有内容,的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程之正则表达式

如何使用 shell(awk、sed 等)删除文件中的前两列

删除包含指定单词的所有行[重复]

shell编程之正则表达式sed工具

shell脚本之正则表达式---sed工具

如何在 shell 脚本中使用 sed 从文件的每一行中删除单词? [复制]