linux - 查找 "string1"并删除它和 "string2"之间的内容

标签 linux command-line sed

我正在使用命令行和 sed。我需要一个命令来递归地从多个文件中删除。

我留下了如下评论:

<!--String 1 -->
Code to delete goes here
<!--String 2 -->

因此我需要删除当前目录及以下所有文件中的字符串 1,以及字符串 2 和字符串 2 之间的文本。

非常感谢任何帮助:)

最佳答案

只需使用地址:

sed -e '/<!--String 1 -->/,/<!--String 2 -->/d'

更新:要对路径下的文件递归应用sed命令,可以使用find:

find /path/to/directory -type f -exec sed -e '/<!--String 1 -->/,/<!--String 2 -->/d' {} \;

关于linux - 查找 "string1"并删除它和 "string2"之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16297932/

相关文章:

mysql - 恢复数据库备份导致坏字符

python - 启用插件时pyqt4段错误(核心转储)

linux - 在 Linux 中禁用 vsyscalls

linux - 使用 linux 命令行识别文件中具有 2 个字段的重复行

linux - 如何在特定条件下更改特定字段的值

bash - 在脚本中使用 sed 将文件内容替换为行

linux - 如何进入 root shell、执行命令、退出并继续执行脚本?

pdf - 从命令行将 PDF 打印为图像?

javascript - 如何运行 mongo --eval?

linux - 如何使用 sed 删除文件的最后 n 行