답변:
재귀 적으로 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
(Sardathrion의 답변을 참조)가 인라인 편집을 지원하기 때문에,하지만 난 '좋은 똑똑한를 언급하고 싶었 expand
어쨌든.
편집 : 그럴 것입니다 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
대답에서 언급 한 것처럼 대신 사용하십시오 . 더 쉽고 안전합니다.