sun's longitude:241 17 5.85 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
12 번 글: [utils] 파일안의 TAB 통일, expand<->unexpand
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 01월 02일 09:02:32 목(오전) 조회: 3418
[utils] 파일안의 TAB 통일, expand<->unexpand

1. expand, TAB -> SPACES으로 변환
2. unexpand, SPACES -> TAB으로 변환
3. expand, unexpand 조합
4. 공식화(?)
-------------------------------------

1. expand, TAB -> SPACES으로 변환

$ expand --help
사용법: expand [옵션]... [파일]...
각 파일 안의 탭을 스페이스로 변환하고, 표준 출력에
기록합니다.
파일이 주어지지 않거나 - 이면 표준 입력을 읽습니다.

 -i, --initial       비공백문자 뒤의 탭을 변환하지 않습니다
 -t, --tabs=NUMBER   탭 크기를 8이 아닌 NUMBER로 설정합니다
 -t, --tabs=LIST     탭 위치를 쉼표로 분리하여 명시한 목록을
사용합니다
     --help          이 도움말을 표시하고 끝냅니다
     --version       버전 정보를 출력하고 끝냅니다

-t NUMBER나 -t LIST 대신 -NUMBER나 -LIST가 사용될 수 있습니다.


*사용예)
$ expand file.txt > file2.txt

이와 같이 아무런 옵션이 없으면 기본적으로
file.txt 안의 모든 TAB을 8칸의 공백으로 변환함.

file.txt 안의 8칸의 공백을 가진 TAB을 8칸으로 변환하는 것이
아니라,
6칸이든 8칸이든 모든 TAB을 기본적으로 8칸으로 변환함.

만약
file.txt 안의 모든 TAB을 6칸의 공백으로 바꾸려면,

$ expand --tabs=6 file.txt > file.txt

expand 에서 --tabs=N 옵션은
'TAB 을 지정한 수 N 칸으로 공백으로 만들어라'
라는 의미, output 에 관한 옵션임.


2. unexpand, SPACES -> TAB으로 변환

$ unexpand --help
사용법: unexpand [옵션]... [파일]...
각 파일 안의 스페이스를 탭으로 변환하고, 표준 출력에
기록합니다.
파일이 주어지지 않거나 - 이면 표준 입력을 읽습니다.

 -a, --all           행 시작 부분의 공백뿐만 아닌 모든 공백을
변환합니다
 -t, --tabs=NUMBER   탭 크기를 8이 아닌 NUMBER로 설정합니다
 -t, --tabs=LIST     탭 위치를 쉼표로 분리하여 명시한 목록을
사용합니다
     --help          이 도움말을 표시하고 끝냅니다
     --version       버전 정보를 출력하고 끝냅니다

-t NUMBER나 -t LIST 대신 -NUMBER나 -LIST가 사용될 수 있습니다.


*사용예)
$ unexpand -a file.txt > file2.txt

file.txt 안의 8칸의 공백을 기본적으로 하나의 TAB(8칸)으로
변환함.

만약 6칸의 공백을 하나의 TAB(8칸)으로 만들려면,

$ unexpand -a --tabs=6 file.txt > file2.txt


*주의)
변환된 TAB은 무조건 8칸의 공백을 가짐.


3. expand, unexpand 조합

$ expand file.txt | unexpand -a > file.txt
(같은 파일로 변환됨)

이것은

$ expand --tabs=8 file.txt | unexpand -a --tabs=8 > file.txt

과 동일함.

8칸이 아닌 4칸의 공백을 모두 동일하게 8칸의 TAB으로
바꾸려면,

$ expand --tabs=4 file.txt | unexpand -a --tabs=4 > file.txt


4. 공식화(?)

  * file.txt의 N 칸의 공백을 모두 TAB(8칸)으로 통일

  expand --tabs=N file.txt | unexpand -a --tabs=N > file.txt

정수 N>1, 전자의 N과 후자의 N을 가능한 통일하도록 권장함.
(기본값 N=8)

만약, '전자N1 > 후자N2' 이면
최종적인 결과는 8(TAB) + (N1-N2)의 공백을 가짐

반대로, '전자N1 < 후자N2' 이면
N1의 공백 합이 N2가 되는 시점에서 TAB으로 변환함.


EOF

 
이전글 : Re: 문서화 완료
다음글 : Re: 문서화 완료  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds