递归删除驻留在目录和深层目录中的文件中的代码行

时间:2018-07-18 09:03:32

标签: bash unix

我想了解如何使用bash命令/脚本删除文件中以特定扩展名结尾,位于目录和(深度嵌套)子目录中的某些代码行?

基本上,我想删除以import开始并以"(some file name here).scss"结尾的任何代码行

2 个答案:

答案 0 :(得分:0)

find . -type f -exec sed --in-place 's/^import.*.sccs$//g' {} \;

答案 1 :(得分:0)

如果您有perl,

find . -type f -name '*.extension' |
xargs perl -pi.bak -e 's/^import.*\.sccs.*//'

这将用空行替换每个匹配的import语句,并保留名为filename.bak的备份,以防万一。如果您不想备份,请从perl语句中删除.bak部分。