回答:
再帰的に使用するexpand
(これはこの目的のために作成された):find . -type f -name '*.scala' -exec bash -c 'for x in "$@"; do mv "$x"{,.bak} && expand -t 2 "$x.bak" > "$x" && rm "$x.bak"; done' {} +
インライン編集をサポートしているため、sed
またはperl
(サルダトリオンの回答を参照)を使用してそれを行いますが、expand
とにかく良いol 'について言及したいと思います。
編集:それは find . -type f -name '*.scala' -exec perl -p -i -e $'s/\t/ /g' {} +
これはそれを行うはずです:
find . -type f -name '*.scala$' -exec sed -i 's/\t/ /g' {} +
注:これはテストされていません。
find
または**/*.scala
再帰をサポートするシェルを使用できます。
find | xargs
。find -exec
代わりに、私の回答で述べたように使用します。より簡単で安全です。