回答:
再帰的に使用する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代わりに、私の回答で述べたように使用します。より簡単で安全です。