특정 디렉토리 밑의 소스 코드의 space로 된 indentation을 tab으로 바꾸는 방법

rain의 이미지

특정 디렉토리 밑의 소스 코드에서 space로 된 indentation을 tab으로 바꾸는 방법을 좀 알고 싶습니다.
도통 생각이 나질 않네요.
간단한 명령어 조합으로 가능할 것 같은데, 좋은 방법 있음 여러가지 알려주세요. ^^

violino의 이미지

bash 나 ksh 에서 sed 이용해서 이런식으로 하면 될 것 같은데요?

for i in source_dir/*
do
  sed -e "s/    /^I/g" $i > target_dir/$i
done

vio:

xster의 이미지

indent 라는 프로그램이 있습니다.
사용방법은 잘 모릅니다.

rain의 이미지

vim user라면 아래도 가능하겠네요. ^^

$ find src/ -name '*.[ch]*' -exec vim -c '%s/^[\ \t]*//g' -c 'norm gg=G' -c 'wq' '{}' \;

세상에서 가장 이해하기 힘든 것은 내 자신이 그것을 이해할 수 있다는 것이다.
- 알베르트 아인슈타인 -

kuaaan의 이미지

grep -rl " " `find ./ -name *.cpp`|xargs -n1 perl -pi -e 's,\t,g' 이렇게 하면 될것 같네요.

----------------------------------------------
한번뿐인 인생....
미친듯이 살아보자!
----------------------------------------------