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

bfs
bfs bfs 명령 목적 파일을 검색합니다. 구문
bfs [ - ] File
설명
bfs 명령은 File 매개변수로 지정된 파일을 읽지만, 파일을 처리하지 않습니다. 사용자는 파일을 검색할 수 있지만 편집할 수는 없습니다.
fs 명령은 기본적으로 두 가지의 예외를 갖는 ed 명령의 읽기 전용 버전이며, bfs 명령은 더 큰 파일을 처리할 수 있고 추가 부속 명령을 갖습니다.
입력 파일은 행당 최대 255문자와 최대 32,767행입니다. bfs 명령은 파일이 버퍼로 복사되지 않으므로 파일을 검색하기 위한 ed 명령이 일반적으로 더 효과적입니다. bfs 명령은 csplit 명령을 사용하여, 더욱 편집 관리 가능한 부분으로 나뉠 수 있는 큰 파일의 부분을 식별하는 데 가장 유용합니다.
P 부속 명령을 입력하면 bfs 명령이 *(별표)로 프롬프트를 표시합니다. P 부속 명령을 두 번째 입력하면 프롬프트를 끌 수 있습니다. bfs 명령은 프롬프트가 켜졌을 때 오류 메세지를 표시합니다.
bfs 명령은 단일 및 복수 바이트 환경 양쪽 모두에서 수행됩니다. 언어 환경은 쉘에 대한 (/etc/environment 파일의) LANG 환경 변수의 설정에 의해 결정됩니다.
정방향 및 역방향 탐색
bfs 명령은 ed 명령하에 설명된 모든 주소 표현식을 지원합니다. 또한, bfs 명령은 다시 시작(wrap around)이 있는지의 여부와 관계없이 파일을 통해 순방향 또는 역방향 탐색을 지시할 수 있습니다. 순방향 탐색을 다시 시작으로 지정하면, bfs 명령은 파일의 끝에 도달한 후에 파일의 시작에서 탐색을 계속합니다. 역방향 탐색을 다시 시작으로 지정하면, bfs 명령은 파일의 처음에 도달한 후에 파일의 끝에서 탐색을 계속합니다. 탐색의 네 가지 유형을 지정하기 위한 기호는 다음과 같습니다.
/Pattern/ 처음으로 되돌아와서 Pattern을 정방향으로 탐색합니다.
?Pattern? 처음으로 되돌아와서 Pattern을 역방향으로 탐색합니다.
>Pattern> 처음으로 돌아오지 않고 Pattern을 정방향으로 탐색합니다.
bfs 명령의 패턴 대응 루틴은 ed 명령이 사용하는 루틴과는 약간 다르고, regcmp 서브루틴이 포함됩니다. 또한 표시 이름에서 약간의 차이점이 있습니다. a-z까지 소문자만이 사용되며, 모두 26 표시가 기억됩니다.
플래그
- 파일 크기의 표시를 억제합니다. 일반적으로, bfs 명령은 검색 중인 파일의 크기를 바이트 단위로 표시합니다.
부속 명령
e, g, v, k, n, p, q, w, =, ! 및 null 부속 명령은 ed 명령에 설명된 대로 수행됩니다. 그러나, bfs 명령은 주소 및 부속 명령간의 영역을 지원하지 않습니다. --, +++-, +++=, -12, +4p와 같은 부속 명령이 허용됩니다. 1, 10p 및 1, 10 둘다 최초 10행을 표시합니다. f 부속 명령은 스캔되는 파일의 이름만을 표시하며, 기억하는 파일 이름은 없습니다. w 부속 명령은 출력 각주달기, 절단 또는 압축(각각 xo, xt 및 xc 부속 명령)과 독립됩니다. 압축된 출력 모드는 공백 행이 표시되지 않도록 하고, 여러 개의 공백과 탭을 단일 공백으로 바꿉니다.
다음에 오는 추가 부속 명령이 사용 가능합니다.
xf File 지정된 파일에서 bfs 부속 명령을 읽습니다. bfs 명령이 파일 끝에 도달하거나 입터럽트 신호를 수신하거나, 오류가 발생하면 bfs 명령이 xf 부속 명령이 들어 있는 파일의 스캔을 다시 시작합니다. 이러한 xf 부속 명령은 10 행수로 내포될 수 있습니다.
xo [File] p 및 null 부속 명령의 실행에 따른 출력을 이름이 지정된 파일로 더 전송합니다. 이 파일은 모든 사용자에게 부여된 읽기 및 쓰기 권한으로 작성됩니다. File 매개변수를 지정하지 않을 경우, bfs 명령은 표준 출력을 기록합니다. 파일에 대한 각각의 재지정은 필요한 경우 기존 파일을 삭제하고 지정된 파일을 작성합니다.
:Label 부속 명령 파일에 레이블을 위치지정합니다. 레이블은 개행 문자로 종료됩니다. :(콜론) 사이의 공간 및 레이블의 시작을 무시합니다. 이 부속 명령은 레이블을 참조할 필요가 없으므로, 부속 명령 파일에 주석을 삽입하는 데 사용할 수 있습니다.
[Address1[,Address2]] xb/Pattern/Label 현재 행을 지정된 패턴을 포함하는 행으로 설정하며, 패턴이 지정된 행 범위 내에서 대응할 경우, 현재 명령행의 지정된 레이블로 점프합니다. 다음의 조건에서 점프는 실패합니다.
Address1 또는 Address2 매개변수의 값은 파일의 최초 및 최종 행 사이가 아닙니다.
Address2 값은 Address1 값보다 작습니다.
패턴은 최초 및 최종 행을 포함하여, 지정된 범위의 최소한 한 행에서 대응하지 않습니다.
이 부속 명령은 잘못된 주소에 대한 오류 메세지를 발행하지 않는 유일한 것이므로, 다른 부속 명령이 수행되기 전에 주소가 잘못되었는지를 테스트하는 데 사용됩니다. 부속 명령:
xb/^/label
무조건 점프입니다.
xb 부속 명령은 워크스테이션 이외의 장소에서 읽힐 경우에만 허용됩니다. 파이프로부터 읽혀지는 경우, 하향 점프만이 가능합니다.
xt [Number] p 부속 명령과 null 부속 명령의 출력을 문자 번호가 있는 곳까지 절단합니다. 번호 매개변수의 디폴트 값은 192입니다.
xv[Digit] [Value] 지정된 Value를 Digit 매개변수에 할당합니다. Digit 매개변수의 값은 0-9가 될 수 있습니다. Digit와 Value 사이에 공백을 하나 이상 둘 수 있습니다. 예를 들면 다음과 같습니다.
xv5 100
xv6 1,100p
값 100을 변수 5에 지정하고 값 1,100p를 변수 6에 지정합니다.
변수를 참조하려면, 변수 이름 앞에 %(퍼센트 기호)를 삽입하십시오. 변수 5 및 6에 대해 선행 지정을 부여할 경우, 다음과 같은 세 가지 부속 명령이 있습니다.
1,%5p
1,%5
%6
각각은 파일의 최초 100행에 표시됩니다.
%의 특별한 의미를 피하려면 앞에 \(백슬래쉬)를 두십시오. 예를 들면 다음과 같습니다.
g/".*\%[cds]/p
printf 변수(%c, %d 또는 %s)를 포함하는 행을 대응 및 나열합니다.
xv 부속 명령을 사용하여 명령 출력의 첫번째 행을 변수의 값으로 지정할 수도 있습니다. 이 작업을 수행하려면, Value 매개변수의 첫번째 문자로 !(느낌표)를 사용하고 그 다음에 명령 이름을 작성하십시오. 예를 들면 다음과 같습니다.
xv5 !cat junk
junk 파일의 최초 행을 변수 5로 저장합니다.
!의 특별한 의미를 Value의 최초 문자로서 에스케이프하려면, \(백슬래쉬)를 앞에 두십시오. 예를 들면 다음과 같습니다.
xv7 \!date
값 !date를 변수 7에 저장합니다.
xbz Label 쉘 명령으로부터 최종 저장된 종료값을 테스트하고 값이 0일 경우, 현재 명령 파일의 지정된 레이블로 점프합니다.
xbn Label 쉘 명령으로부터 최종 저장된 종료값을 테스트하고 값이 0이 아닌 경우, 현재 명령 파일의 지정된 레이블로 점프합니다.
xc [Switch] 압축 출력 모드를 켜거나 끕니다(압축 출력 모드는 공백 행을 억제하고 복수 공백 및 탭을 단일 공백으로 대체합니다).
Switch 매개변수가 값 1을 갖는 경우, p 부속 명령 및 널(null) 부속 명령에서 출력이 압축됩니다. Switch 매개변수가 0이면 출력이 압축되지 않습니다. Switch 매개변수에 대한 값을 지정하지 않을 경우, 초기에 0으로 설정된 Switch 매개변수의 현재 값은 반전됩니다.
종료 상태
다음과 같은 종료값을 리턴합니다.
0 파일 또는 명령 오류 없이 성공적으로 완료
>0 오류가 발생하였습니다.
파일
/usr/bin/bfs bfs 명령을 포함하고 있습니다.
관련 정보
csplit 명령, ed 또는 red 명령.
environment 파일.
regcmp 또는 regex 서브루틴.