2011-04-26 1 views
0

중괄호에 따라 코드 파일의 탭/들여 쓰기를 다시 포맷하는 유닉스 쉘 스크립트.중괄호를 기반으로 코드 파일의 탭/들여 쓰기를 다시 포맷하는 유닉스 쉘 스크립트

시각 모드와 등호를 사용하여 vim에서이를 수행하는 방법을 찾았지만 외부 유닉스 셸 스크립트를 사용하여이를 수행 할 방법을 찾지 못하는 것 같습니다. 아이디어는 다음과 같이 실행할 수 있습니다.

./scriptName filename(s) 

모든 파일은 중괄호의 깊이에 따라 들여 쓰여집니다. 심도에 따라 들여 쓰기가 추가 된 개행/복귀 객차를 추가 할 필요가 없습니다.

namespace Mine { 
    Class Yours 
    { 
     Yours() { something something; } 
     ~Yours() { something 
      something more } 
     Yours(too) 
     { 
      etc. 
     } } // Programmer put two braces on the same line, don't do anything 
} 

나는 종류의 중괄호의 깊이를 추적 할 수있는 환경 변수를 사용하고 각 줄의 공백을 트리밍하고 필요에 따라 공간을 추가 상상할 수있는,하지만 난 그것을 알아낼 수 없습니다. 어떤 도움이라도 정말 감사 할 것입니다!

답변

2

시도 indent.

+0

'들여 쓰기 '옵션은 꽤 포괄적입니다. 올바르게 기억한다면 들여 쓰기를 위해 cfg 파일을 저장할 수 있습니다. 원하는 옵션 설정을 찾아서 cfg 파일에 저장 한 다음 매번 원하는대로 작동합니다. 행운을 빕니다. – shellter

+0

불행히도,'indent'는 gcc의 C 확장을 감안할 때 GNU 들여 쓰기에 이상한'//'주석을 이해하지 못합니다. http://www.gnu.org/software/indent/manual/indent.html#SEC15를 참조하십시오. – lhf