나는 스칼라를 코딩하고 규칙은 식별을 위해 레벨 당 이중 공백을 사용하는 것입니다. 그러나 다른 편집기를 사용하면 소스와 공백이 혼합되어 채워집니다.
모든 파일 (* .scala 파일, 실제로는 지정하지 않아도 됨) (지정된 디렉토리 및 모든 기본 FS 분기 (재귀 적으로))을 자동으로 리팩터링하고 모든 탭을 이중 공백으로 바꿉니다. 클래식 Unix / GNU 도구를 사용하여 쉽고 아름다운 방법이 있지만이 분야에 대한 경험이 부족합니다. 도와 주실 래요?
답변
재귀 적으로 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' {} +
참고 : 이것은 테스트되지 않았습니다.