| HOME / 정보공유 / AIX 명령어 모음

indent
indent indent 명령 목적 C 언어 프로그램을 재형식화합니다. 구문
indent InputFile [ OutputFile ] [ -nbad | -bad ] [ -nbap | -bap ] [ -nbbb | -bbb ] [ -nbc | -bc ] [ -br | -bl] [ -cn] [ -cdn ] [ -ncdb | -cdb ] [ -nce | -ce ] [ -cin ] [ -clin ] [ -dn ] [ -din ] [ -ndj | -dj ] [ -nei | -ei ] [ -fa ] [ -nfa ] [ -nfc1 | -fc1 ] [ -in ] [ -nip | -ip ] [ -ln ] [ -lcn ] [ -nlp | -lp ] [ -npro ] [ -npcs | -pcs ] [ -nps | -ps ] [ -npsl | -psl ] [ -nsc | -sc ] [ -nsob | -sob ] [ -nslb | -slb ] [ -st ] [ -troff ] [ -nv | -v ] [ -TType ] ...
설명
indent 명령은 함께 입력된 플래그가 지정하는 대로 C 프로그램을 재형식화합니다.
InputFile 매개변수만 지정하면 재형식화된 파일이 InputFile 매개변수에 다시 기록되고, InputFile 매개변수의 백업 사본이 .BAK 확장자로 현재 디렉토리에 기록됩니다.
OutputFile 매개변수를 지정하면, indent 명령은 해당 이름이 IntputFile 매개변수와 다른지 확인하기 위해 검사합니다.
indent 명령에 대한 사용자 자신의 디폴트 프로파일을 설정하려면, 사용자의 로그인 디렉토리 또는 현재 디렉토리에 .indent.pro라는 파일을 작성하십시오. 이 파일에서 공백, 탭 또는 개행으로 분리되는 플래그를 원하는 만큼 포함시키십시오.
현재 디렉토리에서 .indent.pro 파일의 플래그는 사용자의 로그인 디렉토리의 플래그를 겹쳐씁니다(누적되는 -TType 플래그는 예외). indent 명령이 수행되고 프로파일 파일이 존재하는 경우, 프로그램의 디폴트를 설정하기 위해 프로파일 파일이 읽혀집니다. 그러나, 명령 행의 플래그가 프로파일 플래그를 대체합니다.
주석 처리
indent 명령은 주석 표시기(/*- 또는 /**)의 시작 직후에 -(대쉬) 또는 *(별표)가 있는 모든 주석을 별표로 둘러싸인 주석으로 가정합니다. 주석의 각 행은 들여쓰기를 제외하고는 변경되지 않은 채 그대로 있습니다. 이 들여쓰기는 주석의 첫번째 행의 들여쓰기의 변경을 설명하도록 조정될 수 있습니다.
다른 모든 주석은 텍스트로 취급됩니다. indent 명령은 가능한 한 한 행에 많은 단어(공백, 탭 또는 개행으로 분리)를 채웁니다. 공백 행은 단락을 구분합니다.
블록 주석은 코드의 오른쪽에 있지 않고, 둘 이상의 행으로 확장하는 주석입니다.
주석이 코드가 있는 행에 있으면, -cn 플래그로 설정된 주석 열에서 시작됩니다. 그렇지 않으면, 주석은 코드가 현재 배치되는 것보다 더 적은 n 들여쓰기 레벨에서 시작됩니다. 여기서, n은 -dn 플래그에 의해 지정됩니다. 행의 코드가 주석 열을 지나서 확장하는 경우, 주석은 오른쪽에서 더 시작합니다. 오른쪽 여백은 극단적인 경우에 자동으로 확장될 수 있습니다.
프리프로세서 행 처리
일반적으로, indent 명령은 프리프로세서 행을 따로 둡니다. 이 명령이 수행하는 유일한 재형식화는 트레일러 주석을 직선화하는 것입니다. 이 명령은 삽입된 주석을 따로 둡니다. 조건부 컴파일(#ifdef 및 #endif 행 사이의 코드)이 인식되고, indent 명령은 도입된 문장 구성의 특이성을 제대로 보충하려고 시도합니다.
C 구문 처리
indent 명령에 내장된 해석기는 미완료 구문 및 양식이 틀린 구문을 처리합니다. 특히, 다음과 같은 매크로의 사용이
#define forever for(;;)
올바르게 처리됩니다. 최상의 결과를 위해, 구문상 올바른 소스에서 indent 명령을 사용하십시오.
플래그
주: 플래그는 파일 이름 앞 또는 뒤에 나타날 수 있습니다.
-bad 선언의 모든 블록 다음에 공백 행을 삽입합니다.
-nbad 모든 선언 블록 다음에 공백 행을 억제합니다. -bad 플래그로 해제할 때까지 활성화됩니다.
-bap 모든 프로시저 본문 다음에 공백 행을 삽입합니다.
-nbap 모든 프로시저 본문 다음에 공백 행을 억제합니다. -bap 플래그로 해제할 때까지 활성화됩니다.
-bbb 모든 블록 주석 앞에 공백 행을 삽입합니다.
-nbbb 모든 블록 주석 앞에 공백 행을 억제합니다. -bbb 플래그로 해제할 때까지 활성화됩니다.
-bc 선언의 각 쉼표 다음에 개행을 삽입합니다.
-nbc 선언의 각 쉼표 다음에 개행을 억제합니다. -bc 플래그로 해제할 때까지 활성화됩니다.
-bl 복합문, 구조 초기화 및 enum 초기화를 다음과 같이 형식화합니다.
if (...)
{
code
}
-br 복합문, 구조 초기화 및 enum 초기화를 다음과 같이 형식화합니다.
if (...) {
code
}
이 플래그는 -bl 플래그로 해제될 때까지 활성화됩니다.
-cn 코드에 대한 주석의 초기 탭 위치를 n 변수로 설정합니다. 디폴트 값은 33입니다.
-cdn 선언상의 주석에 대한 초기 탭 위치를 n 변수로 설정합니다. 디폴트로, 이 플래그는 -c 플래그로 정의된 값을 사용합니다.
-cdb 공백 행에 주석 분리자 배치가 가능합니다. -ncdb 플래그로 해제할 때까지 활성화됩니다. -cdb 플래그는 코드의 오른쪽의 주석이 아니라, 블록 주석에만 영향을 줍니다. 결과 주석은 다음과 유사합니다.
/*
* this is a comment
*/
-ncdb 공백 행에 주석 분리자가 배치되지 않게 합니다. -ncdb 플래그는 코드의 오른쪽의 주석이 아니라, 블록 주석에만 영향을 줍니다. 결과 주석은 다음과 유사합니다.
/* this is a comment */
-ce }(오른쪽 대괄호) 바로 뒤에 else문이 오도록 강제할 수 있습니다. -nce 플래그로 해제할 때까지 활성화됩니다.
-nce }(오른쪽 대괄호) 바로 뒤에 else문이 오도록 강제할 수 없습니다.
-cin 계속되는 행을 문장 첫번째 행의 처음부터 n 위치 들여쓰기합니다. 괄호 안의 표현식은 -lp 플래그가 효력을 갖지 않는 한, 중첩을 나타내기 위해 추가 들여쓰기가 추가됩니다. 디폴트로, 이 플래그는 -i 플래그에 의해 정의된 값을 사용합니다.
-clin 포함하는 플래그 문의 오른쪽으로 n 위치만큼 'case' 레이블을 들여쓰기 합니다. -cli0.5를 입력하면 'case' 레이블이 탭 정지의 절반으로 들여쓰기됩니다. 이 옵션이 유일하게 분수 인수를 취합니다. 디폴트로, 값은 -cli0입니다.
-dn 코드의 오른쪽에 있지 않은 주석의 위치를 n 변수로 제어합니다. -d1 플래그를 지정하면 그런 주석들이 코드의 왼쪽으로 하나의 들여쓰기 레벨로 나타납니다. 디폴트로, 이 플래그는 -d0을 사용하며 주석은 코드와 나란히 정렬됩니다. 프로그램 코드에 상대적인 주석 행의 위치가 주석 들여쓰기에 영향을 줍니다.
-din 앞선 선언 키워드로부터 식별자를 들여쓰기 하는 위치의 자릿수를 n 변수로 지정합니다. 디폴트로, 이 플래그는 -di16을 사용합니다.
-dj 선언을 왼쪽 정렬합니다.
-ndj 선언을 들여쓰기합니다. -dj 플래그로 해제할 때까지 활성화됩니다.
-ei 특수한 else-if 처리를 사용 가능하게 합니다. -nei 플래그로 해제할 때까지 활성화됩니다. -ei 플래그는 선행하는 if 명령문과 동일한 들여쓰기를 하도록 합니다. else 명령문 뒤의 if 명령문이 만듭니다.
-nei 특수한 else-if 처리는 사용 불가능합니다.
-fa 이전 양식 C 코드에서 ANSI 형식으로 연산자를 반전 지정합니다. 이 플래그는 -nfa 플래그로 해제될 때까지 활성화됩니다.
주의: 코드가 ANSI 컴파일러에 대해 작성된 경우 코드를 변경할 가능성이 있습니다. 예를 들어, A=-B가 A-=B가 됩니다.
주: 연산자 사이에 공백을 사용하지 마십시오. 사용자가 빼기를 의미하는 경우, 반전이 필요합니다. 한편, 사용자가 A와 B의 음수가 같음을 의미하는 경우, 반전은 의미를 변경합니다.
-nfa 연산자 반전을 억제합니다. 코드가 ANSI 컴파일러용으로 작성된 경우 이 플래그를 사용하십시오.
-fc1 열 1에서 시작하는 형식화 주석을 사용 가능하게 합니다. -nfc1 플래그로 해제할 때까지 활성화됩니다.
-nfc1 열 1에서 시작하는 주석 형식화를 사용 불가능하게 합니다.
-in 들여쓰기 레벨 크기를 설정합니다. 디폴트로, 레벨 크기는 8 위치입니다.
-ip 매개변수 선언 들여쓰기를 사용 가능하게 합니다. -nip 플래그로 해제할 때까지 활성화됩니다.
-nip 매개변수 선언 들여쓰기를 사용 불가능하게 합니다.
-ln 코드 오른쪽 주석의 최대 열 위치를 설정합니다. 주석이 한 행에 들어가지 않는 경우, 최대 25 문자가 인쇄됩니다.
-lcn 블록 주석에 대한 최대 행 길이를 n 변수로 설정합니다. 디폴트로, 이 플래그는 -l 플래그로 지정된 길이를 사용합니다.
-lp 계속되는 행에서 괄호로 묶인 코드를 정렬합니다. -nlp 플래그로 해제할 때까지 활성화됩니다. 행에 대응하는 오른쪽 괄호가 없이 왼쪽 괄호만 있으면, 왼쪽 괄호 다음 위치에서 계속 행이 시작합니다.
-lp 플래그가 영향을 미치고 있는 행은 다음과 같이 나타납니다.
p1 = first_procedure(second_procedure(p2,p3),
third_procedure(p4,p5));
두 개의 추가 신규 행을 삽입하면 다음과 같이 됩니다.
p1 = first_procedure(second_procedure(p2,
p3),
third_procedure(p4,
p5));
-nlp 계속 행에서 괄호로 묶은 코드를 정렬되지 않은 채로 둡니다. -nlp 플래그가 영향을 미치고 있는 행은 다음과 같이 나타납니다.
p1 = first_procedure(second_procedure(p2,p3),
third_procedure(p4,
-npro 프로파일 파일 ./.indent.pro 및 $HOME/.indent.pro를 무시합니다.
-pcs 각 프로시저 호출 이름과 다음에 오는 ((왼쪽 괄호) 사이에 공백을 삽입합니다.
-npcs 각 프로시저 호출 이름과 다음에 오는 ((왼쪽 괄호) 사이에 공백을 억제합니다. -pcs 플래그로 해제할 때까지 활성화됩니다.
-ps -> 연산자 다음의 포인터 양쪽에 공백을 삽입합니다.
-nps -> 연산자 다음의 포인터 양쪽에 공백을 억제합니다. -ps 플래그로 해제될 때까지 활동합니다.
-psl 정의되는 프로시저의 이름을 왼쪽 정렬합니다. -npsl 플래그로 해제할 때까지 활성화됩니다. 프로시저 유형이 있다면 이전 행에 그대로 남아 있습니다.
-npsl 정의된 프로시저 이름의 왼쪽 정렬을 불가능하게 합니다.
-sc 주석 왼쪽에 *(별표)를 배치할 수 있습니다. -nsc 플래그로 해제할 때까지 활성화됩니다.
-nsc 주석 왼쪽에 *(별표)의 배치를 사용 불가능하게 합니다.
-slb 코드의 오른쪽에 있지 않은 모든 단일 행 주석을 블록 주석으로 취급합니다.
-nslb 코드 오른쪽에 있지 않은 단일행 주석을 블록 주석으로 취급할 수 없도록 합니다. -slb 플래그로 해제할 때까지 활성화됩니다.
-sob 선택적 공백 행을 제거합니다. -nbad, -nbap 또는 -nbbb 플래그의 어느 하나와 결합하여 작동합니다. -bad, -bap 또는 -bbb 플래그에 의해 삽입된 공백 행만 제거합니다.
-nsob 선택적 공백 행을 보유합니다. -sob 플래그로 해제할 때까지 활성화됩니다.
-st indent 명령이 stdin으로부터 입력되어 stdout으로 출력하도록 합니다.
-TType Type 변수를 유형 키워드의 리스트에 추가합니다. 이름이 누적되므로 -T는 두 번 이상 지정될 수 있습니다. indent 명령으로부터 최상의 결과를 내기 위해서는 typedef 명령문으로 정의된 모든 유형을 지정해야 합니다.
-troff C 프로그램을 troff에 의해 처리되도록 형식화합니다. vgrind 명령에 의해 작성되는 리스트와 유사한 리스트를 작성합니다. 출력 파일이 지정되지 않는 경우, 디폴트는 형식화하는 것이 아니라 표준 출력입니다.
-v 상세 모드를 설정하는데, 그러면 입력의 한 행이 출력의 둘 이상의 행으로 분할될 때를 보고하고 완료시 크기 통계를 제공합니다.
-nv 상세 모드를 해제합니다. -v 플래그로 해제할 때까지 활성화됩니다.
예제
test.c 파일을 indent 명령의 디폴트 설정값을 사용하여 형식화하고 newtest.c 파일에 출력하려면, 다음을 입력하십시오.
indent test.c newtest.c
선언 및 프로시저 본문의 블록 뒤마다 공백 행이 반드시 있도록 test.c 파일을 형식화하고, 모든 기타 디폴트 설정값을 사용하고, 출력을 newtest.c 파일에 저장하려면, 다음을 입력하십시오.
indent test.c newtest.c -bad -bap
test.c 파일을 indent 명령의 디폴트 설정값을 사용하여 형식화하고 uint를 유형 키워드 인식 가능하도록 indent 명령에 정의하려면, 다음을 입력하십시오.
indent test.c newtest.c -Tuint
파일
./.indent.pro 프로파일 파일이 들어 있습니다.
$HOME/.indent.pro 프로파일 파일이 들어 있습니다.
/usr/ccs/bin/indent indent 명령이 들어 있습니다.
관련 정보
cb 명령