我有一个目录,它有很多子目录。
主页/文件夹 A/*
主页/文件夹 B/*
我想要做的是删除每个子目录中的文件中包含特定文本“密码”的所有行。
sed -i '/password/d' *
此命令只能用于文件,不能进入目录。如果您能提供任何有关如何执行此操作的建议,我将不胜感激。
答案1
我会find
像sed
这样使用:
find /path/to/source -type f -exec sed '/password/d' {} +
添加-i
到sed -i '/password/d'
上面即可将更改写入文件中。
- 这
/path/to/source
是您想要运行sed
其中的文件及其子目录的目录路径。 - 寻找
-type f
F仅限文件类型。 - 与
-exec command {} +
,命令将对找到的文件执行。