缩进命令行脚本

时间:2014-04-09 01:24:44

标签: bash shell command

我正在寻找一个简单的命令行脚本或shell脚本,我可以运行它,使用给定目录,遍历所有目录,子目录等,查找带有.rb的文件,并将它们缩进到两个空格,无论目前的缩进。

然后它应该查找html,erb和js文件(以及less / sass)并将它们缩进到4。

这是一件很简单的事情还是我只是在设计它?我不太了解bash,我曾尝试创造一些东西,但我的朋友说使用grep而我迷路了。有什么帮助吗?

1 个答案:

答案 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)并按要求进行相应的替换。 +表示“一次”执行尽可能多的文件。这避免了文件名中的空格问题以及其他问题。