저는 Scala 코드를 작성하고 각 레벨마다 이중 공백을 사용하는 것이 관례입니다. 하지만 다른 편집기를 사용하면 소스 코드가 공백과 탭으로 가득 차게 됩니다.
모든 파일(실제로는 *.scala 파일이지만 이를 지정할 필요가 없음)(주어진 디렉터리 및 모든 기본 FS 분기(재귀적으로))을 자동으로 재구성하여 모든 탭 문자를 이중 공백으로 바꾸고 싶습니다. 나는 전통적인 Unix/GNU 도구를 사용하여 이를 수행하는 간단하고 아름다운 방법이 있다고 확신하지만 이 분야에 대한 경험이 부족합니다. 당신은 날 도움이 될 것입니다?
답변1
이렇게 하면 트릭을 수행할 수 있습니다.
find . -type f -name '*.scala$' -exec sed -i 's/\t/ /g' {} +
노트:이것은 테스트되지 않았습니다.
답변2
재귀적으로 다음을 사용하십시오 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
인라인 편집을 지원하기 때문에 or (Sardathrion의 답변 참조)을 사용하여 수행했을 것이지만 perl
어쨌든 언급하고 싶었습니다 expand
.
편집: 그건find . -type f -name '*.scala' -exec perl -p -i -e $'s/\t/ /g' {} +