Linux나 Unix상에서 VI 에디터로 파일을 편집할때, TAB 문자가 있으면 나는 무조건 공백문자로 치환해놓는다.
TAB 문자는 편집기 환경에 따라서, 그 공백이 달라지기 때문에...
난 무조건 2 Byte 들여쓰기를 하기 때문에. +_+
그런데, 기존에 만들어 놓은 소스들을 보면 TAB이 욜라 많고, VI 편집기에서는 TAB문자인지 공백 문자인지 구분도 잘 안간다. -_-;;
이럴때 TAB문자를 한방에 공백으로 치환하는 방법이 있다면 얼마나 좋을쏘냐~~~~
그래서 찾아봤더니 있었네 -,.-; 아놔~~~
우선 먼저 해당 파일에 TAB문자가 있는지 여부를 확인하기 위해서
■ 탭 문자 보기 (^I)
# cat -v -t tabfile
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
tabfile^Itabfile^Itabfile^Itabfile^Itabfile^I
■ 탭문자 (^I)를 공백으로 치환해서 보기
# expand tabfile | cat -v -t tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
expand를 이용하면 TAB문자가 공백으로 치환되어 표준 출력 장치 (stdout)로 보여진다는 것을 알았으니 이제 File의 Tab 문자를 없애려면?
■ 탭문자 (^I)를 공백으로 치환해서 파일 생성
# expand tabfile > notabfile
# cat -v -t notabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
# cat -v -t notabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
tabfile tabfile tabfile tabfile tabfile
공백 문자가 모두 사라졌다. 유후~