我正在寻找一个简单的命令行脚本或shell脚本,我可以运行它,使用给定目录,遍历所有目录,子目录等,查找带有.rb的文件,并将它们缩进到两个空格,无论目前的缩进。
然后它应该查找html,erb和js文件(以及less / sass)并将它们缩进到4。
这是一件很简单的事情还是我只是在设计它?我不太了解bash,我曾尝试创造一些东西,但我的朋友说使用grep而我迷路了。有什么帮助吗?
答案 0 :(得分:2)
如果您使用sed
选项获取GNU -i
来覆盖文件(安全备份),则:
find . -name '*.rb' -exec sed -i .bak 's/^/ /' {} +
find . -name '*.html' -exec sed -i .bak 's/^/ /' {} +
等
find
生成文件名列表;它执行sed
命令,备份文件(-i .bak
)并按要求进行相应的替换。 +
表示“一次”执行尽可能多的文件。这避免了文件名中的空格问题以及其他问题。