首页 > 解决方案 > 从子目录中的所有文件中删除包含带有斜杠的字符串的行

问题描述

我不小心添加了这一行:

tazadeg2018/test2018/g

通过错误使用 sed 来获取多个文件的许多方法,我只想更改多个文件中的一个单词。

现在我尝试删除包含此单词的行,例如:

find . -type f -exec sed -i 's/tazadeg2018/test2018/g//g' {} \;

但它不起作用说:sed: -e expression #1, char 28: unknown option to `s'

我想这是由于许多在 sed 中具有特殊含义的正斜杠。因此,如果有人知道如何在多个文件中删除这一行,我会非常高兴:)

标签: bashsedgrep

解决方案


您收到此错误是因为您要求 sed/用作分隔符,并且由于您的字符串包含斜杠,它只会弄乱 sed 命令。

您不必在 sed 命令中使用 usr / ;尝试使用,例如:

find . -type f -exec sed -i 's,tazadeg2018/test2018/g,,g' {} \;

请参阅如何使用 sed 插入包含斜杠的字符串?


推荐阅读