Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 ack-grepp 명령입니다.
프로그램:
이름
ack - grep과 같은 텍스트 찾기
개요
ack [옵션] 패턴 [파일...]
ack -f [옵션] [디렉토리...]
기술
Ack는 GREP 프로그래머용.
Ack는 명명된 입력 파일(또는 명명된 파일이 없는 경우 표준 입력, 또는 파일이
name -이 주어진다) 주어진 PATTERN에 대한 일치를 포함하는 행에 대해. 기본적으로 확인
일치하는 줄을 인쇄합니다.
PATTERN은 Perl 정규 표현식입니다. Perl 정규식은 일반적으로 다음에서 찾을 수 있습니다.
다른 프로그래밍 언어이지만 동작의 세부 사항은 문의하십시오.
<http://perldoc.perl.org/perlreref.html|펄레프>. 일반 사용법을 모르신다면
표현하지만 학습에 관심이 있는 경우 상담 가능
<http://perldoc.perl.org/perlretut.html|펄렛>. 필요하지 않거나 사용을 원하지 않는 경우
정규식은 "-Q"/"--literal" 옵션을 참조하십시오.
Ack는 또한 실제로 검색하지 않고 검색할 파일을 나열할 수 있습니다.
ack의 파일 유형 필터링 기능을 활용합니다.
FILE SELECTION
검색을 위해 파일이 지정되지 않은 경우 명령줄에서 또는
"-x" 옵션, 포장전시회 검색할 파일을 선택하는 하위 디렉토리를 탐색합니다.
포장전시회 검색하는 파일에 대해 지능적입니다. 특정 파일 유형에 대해 알고 있습니다.
파일의 확장자와 경우에 따라 파일 내용 모두에 대해. 이것들
선택은 --유형 옵션을 선택합니다.
파일을 선택하지 않고, 포장전시회 명시적으로 지정되지 않은 일반 파일을 검색합니다.
에 의해 제외 --무시 디렉토리 and --무시-파일 다음 중 하나에 있는 옵션 ackrc 파일 또는 켜기
명령줄.
에 대한 기본 옵션 포장전시회 특정 파일 및 디렉토리를 무시합니다. 여기에는 다음이 포함됩니다.
· 백업파일 : 파일 매칭 #*# 또는로 끝나는 ~.
· 코어 덤프: 파일 일치 코어.\d+
· 다음과 같은 버전 제어 디렉토리 .svn and .git.
달리기 포장전시회 "--dump" 옵션을 사용하여 설정된 설정을 확인합니다.
그러나, 포장전시회 유형에 관계없이 명령줄에 지정된 파일을 항상 검색합니다. 만약에
당신은 말한다 포장전시회 코어 덤프에서 검색하려면 코어 덤프에서 검색합니다.
디렉토리 SELECTION
포장전시회 지정된 시작 디렉토리의 디렉토리 트리를 따라 내려갑니다. 아니오인 경우
디렉토리가 지정되면 현재 작업 디렉토리가 사용됩니다. 그러나 무시할 것입니다.
많은 버전 제어 시스템에서 사용하는 섀도우 디렉토리 및 빌드 디렉토리
Perl MakeMaker 시스템에서 사용됩니다. 다음을 사용하여 이 목록에서 디렉토리를 추가하거나 제거할 수 있습니다.
전에, --[아니요]디렉터리 무시 옵션. 옵션을 반복하여 여러 디렉토리를 추가/제거할 수 있습니다.
무시 목록에서.
검색되지 않는 전체 디렉토리 목록을 보려면 "ack --dump"를 실행하십시오.
WHEN ~까지 사용 그렙
포장전시회 최단 거리 GREP 99% 일상적인 도구로 사용하지만 던지지는 마세요. GREP 멀리, 때문에
여전히 필요할 때가 있습니다.
예를 들어, 다음과 같이 표현할 수 있는 정규 표현식을 찾는 거대한 파일을 검색합니다. GREP
구문이 더 빨라야 합니다. GREP.
스크립트 또는 상위 프로그램이 다음을 사용하는 경우 GREP "--quiet" 또는 "--silent" 또는 IO에서 출구 2 필요
오류, 사용 GREP.
옵션
--ackrc
다른 모든 파일 다음에 로드할 ackrc 파일을 지정합니다. "ACKRC 위치 의미론"을 참조하십시오.
-A NUM, --컨텍스트 이후=NUM
인쇄 NUM 라인 일치 후 후행 컨텍스트 라인.
-B NUM, -- 컨텍스트 이전 =NUM
인쇄 NUM 라인을 일치시키기 전에 선행 컨텍스트의 라인.
--[휴식 없음
다른 파일의 결과 사이에 중단을 인쇄합니다. 사용 시 기본적으로 켜짐
대화식으로.
-C [NUM], --컨텍스트[=NUM]
인쇄 NUM 일치하는 라인 주변의 컨텍스트 라인(기본값 2).
-c, --세다
정상 출력 억제; 대신 각 입력 파일에 대해 일치하는 줄 수를 인쇄합니다.
If -l 가 적용되면 줄이 있는 각 파일의 줄 수만 표시됩니다.
어울리는. 없이 -l, 일부 줄 수는 XNUMX일 수 있습니다.
와 결합하면 -h (--no-파일 이름) ack는 하나의 총 카운트만 출력합니다.
--[no]색상, --[no]색상
--색상 일치하는 텍스트를 강조 표시합니다. --무색 색상을 억제합니다. 이것은 에 의해
출력이 리디렉션되지 않는 한 기본값입니다.
Windows에서 이 옵션은 Win32::Console::ANSI 모듈이
설치되었거나 "ACK_PAGER_COLOR" 환경 변수가 사용되었습니다.
--색상-파일 이름=색
파일 이름에 사용할 색상을 설정합니다.
--색상 일치=색
일치에 사용할 색상을 설정합니다.
--color-lineno=색
줄 번호에 사용할 색상을 설정합니다.
--[no]열
첫 번째 일치 항목의 열 번호를 표시합니다. 이것은 편집자가
주어진 위치에서 커서.
--create-ackrc
기본 ack 옵션을 표준 출력으로 덤프합니다. 싶을 때 유용합니다.
기본값을 사용자 지정합니다.
--덤프
로드된 옵션 목록과 옵션의 출처를 표준 출력에 기록합니다. 능숙한
디버깅을 위해.
--[no]환경
--noenv 모든 환경 처리를 비활성화합니다. 아니요 .ackrc 읽고 모든 환경
변수는 무시됩니다. 기본적으로, 포장전시회 고려하다 .ackrc 및 설정
환경을 제공합니다.
--플러시
--플러시 출력을 즉시 플러시합니다. ack가 실행 중이 아니면 기본적으로 꺼져 있습니다.
대화식으로(출력이 파이프나 파일로 갈 때).
-f 실제로 검색하지 않고 검색할 파일만 인쇄합니다.
PATTERN을 지정하지 않으면 검색 경로로 사용됩니다.
--파일 출처=FILE
검색할 파일 목록은 FILE. 파일 목록은
개행으로 구분됩니다. 만약에 FILE "-"이면 목록이 표준 입력에서 로드됩니다.
--[필터 없음
ack가 파이프를 통해 입력을 받는 것처럼 작동하도록 합니다.
--[아니오] 팔로우
시작 파일 또는 디렉토리 이외의 심볼릭 링크를 따르거나 따르지 마십시오.
명령줄에 지정되었습니다.
기본적으로 꺼져 있습니다.
-g 무늬
상대 경로 + 파일 이름이 일치하는 파일 인쇄 무늬. 이 옵션은
과 결합 --색상 일치하는 항목을 더 쉽게 찾을 수 있습니다.
--[아니오]그룹
--그룹 파일 이름별로 일치 항목을 그룹화합니다. 이것은 대화식으로 사용될 때 기본값입니다.
--no그룹 grep과 같이 한 줄에 하나의 결과를 출력합니다. 이것이 출력일 때 기본값입니다.
리디렉션되었습니다.
-H, --파일 이름 포함
일치하는 각 파일 이름을 출력합니다. 하나를 검색하지 않는 한 이것이 기본값입니다.
명시적으로 지정된 파일.
-h, --no-파일 이름
여러 파일을 검색할 때 출력에서 파일 이름의 접두사를 억제합니다.
--[no]제목
각 파일의 결과 위에 파일 이름 제목을 인쇄합니다. 사용할 때 기본값입니다.
대화식으로.
--도움, -?
짧은 도움말을 인쇄합니다.
--도움 유형, --help=유형
알려진 모든 유형을 인쇄합니다.
-i, --대소문자 무시
PATTERN에서 대소문자 구분 무시
--무시-승인-기본값
ack와 함께 제공된 기본 정의를 완전히 무시하도록 ack에 지시합니다. 이것은
와 함께 유용 --create-ackrc 만약에 당신이 정말 ack를 사용자 정의하고 싶습니다.
--[아니요]무시-디렉터리=이름, --[no]무시-디렉토리=이름
디렉토리를 무시합니다(CVS, .svn 등은 무시됨). 무시하기 위해 여러 번 사용할 수 있음
여러 디렉토리. 예를 들어 메이슨 사용자는 다음을 포함할 수 있습니다. --ignore-dir=데이터.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --noignore-dir 옵션을 사용하면 일반적으로 검색되는 디렉토리를 검색할 수 있습니다.
무시됨(아마도 내용을 조사하기 위해 .svn/소품 디렉토리).
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 이름 항상 단순한 디렉토리 이름이어야 합니다. 다음과 같은 중첩 디렉토리 푸/바
지원되지 않습니다. 당신은 지정해야합니다 --무시-디렉터리=foo 그런 다음 파일이 없습니다.
명령에 명시적으로 제공되지 않는 한 모든 foo 디렉토리는 ack에 의해 고려됩니다.
줄입니다.
--무시-파일=필터 유형:FILTERARGS
일치하는 파일 무시 필터 유형:FILTERARGS. 필터는 다음과 동일하게 지정됩니다.
"자체 유형 정의"에서 볼 수 있는 파일 유형 필터.
-k, --알려진 유형
선택한 파일을 ack가 알고 있는 유형이 있는 파일로 제한합니다. 이는 다음과 같습니다.
ack 1에 있는 기본 동작입니다.
--라인=NUM
라인만 인쇄 NUM 각 파일의. 여러 줄에 여러 줄을 지정할 수 있습니다. --윤곽
옵션 또는 쉼표로 구분된 목록(--라인=3,5,7). --라인=4-7 또한 작동합니다. 그만큼
명령에 지정된 순서에 관계없이 줄은 항상 오름차순으로 출력됩니다.
줄입니다.
-l, --일치하는 파일
일치하는 텍스트 대신 일치하는 파일의 파일 이름만 인쇄합니다.
-L, --일치하지 않는 파일
수행하는 파일의 파일 이름만 인쇄 않습니다. 일치합니다.
--성냥 무늬
지정 무늬 명시적으로. 이것은 정규식을 다음과 같이 넣지 않으려는 경우에 유용합니다.
예를 들어 동일한 파일 집합에 대해 여러 검색을 실행할 때 첫 번째 인수입니다.
# 주어진 파일에서 foo와 bar 검색
ack file1 t/file* --match foo
ack file1 t/file* --매치 바
-m=NUM, --최대 개수=NUM
다음 후 파일 읽기 중지 NUM 성냥.
--남성
이 매뉴얼 페이지를 인쇄하십시오.
-n, --재귀 없음
하위 디렉토리로 내려가지 않습니다.
-o PATTERN과 일치하는 각 줄의 일부만 표시(텍스트 강조 표시 해제)
--출력=특급
에 대한 평가 출력 특급 각 줄에 대해(텍스트 강조 표시 해제) 패턴인 경우
두 번 이상 일치하면 겹치지 않는 각 일치에 대해 라인이 출력됩니다. 이상
정보는 "의 예" 섹션을 참조하십시오. --산출".
--페이저=프로그램, --노페이저
--휴대용 소형 무선 호출기 ack의 출력을 통해 지시 프로그램. 이는 다음을 통해서도 지정할 수 있습니다.
"ACK_PAGER" 및 "ACK_PAGER_COLOR" 환경 변수.
--pager를 사용해도 파이프 출력과 같은 그룹화 및 색상이 억제되지 않습니다.
명령줄이 합니다.
--노페이저 설정을 취소합니다. ~/.ackrc, "ACK_PAGER" 또는 "ACK_PAGER_COLOR". 아니요
출력은 호출기를 통해 전송됩니다.
--통과
표현식과 일치하는지 여부에 관계없이 모든 행을 인쇄합니다. 하이라이트는 여전히
그래도 전체를 보면서 일치 항목을 강조 표시하는 데 사용할 수 있습니다.
다음과 같은 파일:
# 로그 파일을 보고 특정 IP 주소를 강조 표시합니다.
$ 꼬리 -f ~/access.log | ack --통과 123.45.67.89
--print0
-f, -g, -l 또는 -c(파일 이름 출력)와 함께 사용해야 합니다. 파일 이름은
일반적인 개행 문자 대신 널 바이트로 구분된 출력. 다음과 같은 경우에 유용합니다.
예를 들어 공백을 포함하는 파일 이름 처리
# html 형식의 모든 파일 제거
ack -f --html --print0 | xargs -0 rm -f
-Q, --정확한
PATTERN의 모든 메타 문자를 인용하면 리터럴로 처리됩니다.
-r, -R, --재귀
하위 디렉토리로 재귀합니다. 이것은 기본값이며 다음과의 호환성을 위해 여기에 있습니다.
그렙. 돌리는 용도로도 사용할 수 있습니다 --재귀 없음 떨어져서.
-s 존재하지 않거나 읽을 수 없는 파일에 대한 오류 메시지를 억제합니다. 이것은
fgrep.fgrep.
--[no]스마트 케이스, --스마트 케이스 없음
PATTERN에 대문자가 포함되어 있지 않으면 검색 문자열에서 대소문자를 무시합니다. 이것은
vim의 "smartcase"와 유사합니다. 이 옵션은 기본적으로 해제되어 있으며 "-i"가
지정되었습니다.
-i 항상 이 옵션을 재정의합니다.
--정렬 파일
찾은 파일을 사전순으로 정렬합니다. 파일 목록을 원하는 경우 사용하십시오.
실행 간에 결정적이어야 합니다. 포장전시회.
--쇼 유형
ack가 각 파일과 연관시키는 파일 유형을 출력합니다.
와 함께 작동 -f and -g 옵션을 제공합니다.
--type=[아니오]TYPE
검색에 포함하거나 제외할 파일 유형을 지정합니다. TYPE은 파일 형식입니다.
처럼 펄 or XML. --유형=펄 다음과 같이 지정할 수도 있습니다. --펄및 --type=노펄
다음과 같이 되다 --노펄.
파일이 "foo" 및 "bar" 유형 모두인 경우 --foo 및 --nobar를 지정하면 제외됩니다.
제외가 포함보다 우선하기 때문입니다.
유형 사양은 반복될 수 있으며 함께 OR됩니다.
만나다 포장전시회 --help=유형 유효한 유형 목록을 보려면.
--유형 추가 TYPE:FILTER:FILTERARG
지정된 FILTER에 적용된 지정된 FILTERARGS가 있는 파일은
(기존) TYPE을 입력합니다. "자체 유형 정의"도 참조하십시오.
--유형 집합 TYPE:FILTER:FILTERARG
지정된 FILTER에 적용된 지정된 FILTERARGS가 있는 파일은
TYPE을 입력합니다. 이는 TYPE 유형에 대한 기존 정의를 대체합니다. 또한 "정의
자신의 유형".
--유형-델 TYPE
TYPE과 관련된 필터는 Ack에서 제거되며 더 이상 고려되지 않습니다.
검색을 위해.
-v, -- 반전 일치
반전 일치: 일치하지 않는 라인 선택
--번역
버전 및 저작권 정보를 표시합니다.
-w, --단어 정규식
PATTERN이 전체 단어만 일치하도록 합니다. PATTERN은 "\b"로 래핑됩니다.
메타 문자.
-x 약어 --파일 출처=-; 검색할 파일 목록은 표준에서 읽습니다.
입력, 파일당 한 줄.
-1 모든 종류의 첫 번째 일치를 보고한 후 중지합니다. 이것은 --최대 개수=1
or -m1, 여기서 파일당 하나의 일치 항목만 표시됩니다. 또한, -1 와 함께 작동 -f and -g어디로
-m 하지 않습니다.
--thpppt
가장 중요한 Bill The Cat 로고를 표시합니다. 의 정확한 스펠링에 유의하십시오.
--thpppppt 중요하지 않다. 정규식에 대해 확인됩니다.
--술집
함정이 있는지 제독에게 확인하십시오.
--캐시
초콜릿, 초콜릿, 초콜릿!
L' .ackrc FILE
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 .ackrc 파일에는 명령줄 앞에 추가되는 명령줄 옵션이 포함되어 있습니다.
처리하기 전에. 여러 옵션이 여러 줄에 있을 수 있습니다. #으로 시작하는 줄
무시됩니다. ㅏ .ackrc 다음과 같이 보일 수 있습니다.
# 항상 파일을 정렬
--정렬 파일
# 다른 프로그램으로 파이핑해도 항상 컬러링
--색상
# 내 호출기로 "less -r" 사용
--pager=덜 -r
공백이 포함된 인수는 따옴표로 묶을 필요가 없습니다.
쉘에 의해 해석됩니다. 기본적으로 각 선 FBI 증오 범죄 보고서 .ackrc 파일은 하나로 해석됩니다.
@ARGV의 요소.
포장전시회 위해 여러 곳을 찾는다. .ackrc 파일; 검색 프로세스는 에 자세히 설명되어 있습니다.
"ACKRC 위치 의미론". 이러한 파일은 다음과 같은 경우 고려되지 않습니다. --noenv 에 지정됩니다
명령 행.
정의 your 자신의 유형
ack를 사용하면 미리 정의된 유형 외에도 고유한 유형을 정의할 수 있습니다. 이건 끝났어
가장 적합한 명령줄 옵션을 사용하여 .ackrc 파일 - 그럴 필요가 없습니다
반복해서 유형을 정의하십시오. 다음 예에서 옵션은 항상
쉽게 복사하여 붙여넣을 수 있도록 하나의 명령줄에 표시됩니다.
포장전시회 --펄 푸 모든 perl 파일에서 foo를 검색합니다. 포장전시회 --help=유형 그 펄이 당신에게 말해줍니다.
파일은 .pl, .pm, .pod 또는 .t로 끝나는 파일입니다. .xs를 포함하려면 어떻게 해야 합니까?
파일도 --perl 파일을 검색할 때? 포장전시회 --유형 추가 펄:ext:xs --펄 푸 하지
이것은 당신을 위해. --유형 추가 기존 유형에 추가 확장을 추가합니다.
새 유형을 정의하거나 기존 유형을 완전히 재정의하려면 다음을 사용하십시오.
--유형 집합. 포장전시회 --유형 집합 에펠:ext:e,에펠 유형을 정의합니다 에펠 파일을 포함하려면
확장자는 .e 또는 .eiffel입니다. 따라서 단어가 포함된 모든 에펠 파일을 검색하려면
베르트랑 사용 포장전시회 --유형 집합 에펠:ext:e,에펠 --에펠 버트 랜드. 평소와 같이, 당신은 또한 할 수 있습니다
쓰다 --type=에펠 대신 --에펠. 부정도 작동하므로 --noeiffel 모두 제외
검색에서 에펠 파일. 재정의도 가능합니다. 포장전시회 --유형 집합 참조:내선:c,h and .xs 파일
더 이상 유형에 속하지 않음 cc.
자신의 유형을 정의할 때 .ackrc 파일은 다음을 사용해야 합니다.
--type-set=eiffel:ext:e,eiffel
또는 별도의 줄에 작성
--유형 집합
에펠:ext:e,에펠
다음은 않습니다. 에서 일하다 .ackrc 파일 :
--type-set eiffel:ext:e,eiffel
현재 정의된 모든 유형을 보려면 다음을 사용하십시오. --도움 유형, 예. 포장전시회 --유형 집합
백업:ext:bak --유형 추가 펄:ext:펄 --도움 유형
확장자 기반 필터링(예: ack 1.x 허용) 외에도 ack 2는 다음을 제공합니다.
추가 필터 유형. 일반 구문은 다음과 같습니다. --유형 집합 유형:필터:FILTERARGS;
FILTERARG 가치에 달려있다 FILTER.
입니다파일 이름
is 필터는 대상 파일 이름과 정확히 일치합니다. 정확히 하나의 인수가 필요합니다.
일치시킬 파일의 이름.
예:
--type-set make:is:Makefile
내선 :신장[,확장2[,...]]
내선 필터는 확장자 목록에 대해 대상 파일의 확장자를 일치시킵니다. 아니요
확장에는 선행 점이 필요합니다.
예:
--유형 설정 perl:ext:pl,pm,t
성냥:무늬
일치 필터는 대상 파일 이름을 정규식과 일치시킵니다. 레귤러
표현식은 검색 시 대소문자를 구분하지 않습니다.
예:
--type-set make:match:/(gnu)?makefile/
일선 경기:무늬
일선 경기 대상 파일의 첫 줄을 정규식과 일치시킵니다.
처럼 일치, 정규 표현식은 대소문자를 구분하지 않습니다.
예:
--유형 추가 perl:firstlinematch:/perl/
향후 더 많은 필터 유형을 사용할 수 있습니다.
환경 변수
일반적으로 사용되는 ack 옵션의 경우 환경 변수를 사용하면 작업을 훨씬 쉽게 수행할 수 있습니다. 이것들
다음과 같은 경우 변수가 무시됩니다. --noenv 명령 줄에 지정됩니다.
ACKRC
사용자의 위치를 지정합니다. .ackrc 파일. 이 파일이 없으면 포장전시회
기본 위치에서 찾습니다.
ACK_옵션
이 변수는 명시적 옵션 앞에 놓일 기본 옵션을 지정합니다.
명령 행에서.
ACK_COLOR_FILENAME
인쇄될 때 파일 이름의 색상을 지정합니다. --그룹 방법. 기본적으로,
"굵은 녹색"입니다.
인식되는 속성은 clear, reset, dark, bold, underline, underscore, blink,
리버스, 히든 블랙, 레드, 그린, 옐로우, 블루, 마젠타, on_black, on_red,
on_green, on_yellow, on_blue, on_magenta, on_cyan 및 on_white. 케이스는 아닙니다
중요한. 밑줄과 밑줄은 지우고 재설정하는 것과 동일합니다. 그만큼
color 단독으로 전경색을 설정하고 on_color는 배경색을 설정합니다.
이 옵션은 다음과 같이 설정할 수도 있습니다. --색상 파일 이름.
ACK_COLOR_MATCH
인쇄할 때 일치하는 텍스트의 색상을 지정합니다. --색상 방법. 기본적으로,
"블랙 on_yellow"입니다.
이 옵션은 다음과 같이 설정할 수도 있습니다. --색상 일치.
만나다 ACK_COLOR_FILENAME 색상 사양.
ACK_COLOR_LINENO
인쇄할 때 줄 번호의 색상을 지정합니다. --색상 방법. 기본적으로
"대담한 노란색".
이 옵션은 다음과 같이 설정할 수도 있습니다. --color-lineno.
만나다 ACK_COLOR_FILENAME 색상 사양.
ACK_PAGER
ack가 보낼 "more", "less" 또는 "most"와 같은 호출기 프로그램을 지정합니다.
그것의 출력.
"ACK_PAGER"를 사용하면
Windows ack에서 "ACK_PAGER"가
색상을 지원합니다.
둘 다 지정된 경우 "ACK_PAGER_COLOR"가 "ACK_PAGER"보다 우선합니다.
ACK_PAGER_COLOR
ANSI 색상 시퀀스를 이해하는 호출기 프로그램을 지정합니다. 사용
"ACK_PAGER_COLOR"는
명령줄이 합니다.
Windows를 사용하지 않는 경우 "ACK_PAGER_COLOR"를 사용할 필요가 없습니다.
유효한 COLORS
포장전시회 Perl의 Term::ANSIColor 모듈에서 사용할 수 있는 색상을 사용합니다.
나열된 값을 따릅니다. 이 값을 사용할 때 대소문자는 중요하지 않습니다.
전경 색상
검은색 빨간색 녹색 노란색 파란색 자홍색 청록색 흰색
밝은_검정색 밝은_빨간색 밝은_녹색 밝은_노란색
bright_blue bright_magenta bright_시안 bright_white
배경 색상
on_black on_red on_green on_yellow
온_블루 온_마젠타 온_시안 온_화이트
on_bright_black on_bright_red on_bright_green on_bright_yellow
on_bright_blue on_bright_magenta on_bright_시안 on_bright_white
ACK & 기타 도구
정력 완성
포장전시회 Vim 텍스트 편집기와 쉽게 통합됩니다. 이것을 당신의 .vimrc 사용 포장전시회 를 받아야 하는 미국 여행자
of GREP:
grepprg=ack\ -k 설정
이 예에서는 "-k"를 사용하여 ack가 알고 있는 유형의 파일만 검색하지만
다른 기본 플래그를 사용할 수 있습니다. 이제 다음으로 검색할 수 있습니다. 포장전시회 그리고 쉽게 단계
Vim 결과:
:grep 덤퍼 perllib
Miles Sterrett은 다음을 위한 Vim 플러그인을 작성했습니다. 포장전시회 대신 ":Ack"를 사용할 수 있습니다.
":grep" 및 기타 여러 고급 기능.
이맥스 완성
Phil Jackson은 ack.el "간단한 컴파일 모드를 제공하는 확장 ...
주 모드를 기반으로 검색하려는 파일을 추측하는 기능이 있습니다."
<http://www.shellarchive.co.uk/content/emacs.html>
텍스트 메이트 완성
Pedro Melo는 "저는 주로 TextMate 안에서 하루를 보냅니다.
내장된 find-in-project는 대규모 프로젝트에서 짜증납니다. 그래서 저는 TextMate 명령을 해킹했습니다.
find + grep을 사용하여 ack를 사용했습니다. 결과는 ack와 함께 프로젝트에서 검색이며,
여기에서 찾을 수 있습니다:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"
껍질 and 반품 암호
더 나은 호환성을 위해 GREP, 포장전시회 정상적인 사용에서는 쉘 반환 또는 종료 코드를 반환합니다.
무언가가 발견된 경우에만 0이고 일치하는 항목이 발견되지 않은 경우 1입니다.
(셸 종료 코드 1은 "system" 또는 백틱이 있는 perl에서 "$?=256"입니다.)
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 GREP 오류에 대한 코드 2는 사용되지 않습니다.
"-f" 또는 "-g"가 지정된 경우 하나 이상의 파일이 발견되면 0이 반환됩니다. 아니오인 경우
파일이 발견되면 1이 반환됩니다.
디버깅 ACK 문제
ack가 예상하지 못한 결과를 제공하면 몇 가지 간단한 단계부터 시작하십시오.
--noenv
환경 변수 및 .ackrc 예상하지 못한 일을 하고 있거나
당신이 지정한 잊어 버렸습니다. 사용 --noenv 환경을 무시하고 .ackrc.
-f 에 참조 뭐 파일 있다 된 선택된
악스 -f 원래 디버깅 도구로 추가되었습니다. ack가 당신과 일치하는 것을 찾지 못하면
찾아야 한다고 생각하고 실행 포장전시회 -f 어떤 파일이 선택되었는지 확인합니다. 당신은 또한 추가할 수 있습니다
"--show-types" 옵션은 선택한 각 파일의 유형을 표시합니다.
--덤프
여기에는 로드된 ackrc 파일과 여기에서 로드된 옵션이 나열됩니다. 그래서
예를 들어 검색되지 않거나 파일 유형이 있는 디렉토리 목록을 찾을 수 있습니다.
한정된.
팁
전에, .ackrc 파일.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 .ackrc 대부분의 시간을 사용하지만 원하지 않는 모든 옵션을 넣을 수 있는 곳입니다.
기억하다. --type-add 및 --type-set 정의를 모두 넣으십시오. 당신이 좋아한다면
--smart-case도 거기에 설정합니다. 나는 또한 거기에 --sort-files를 설정했습니다.
-f for 일하는 과 큰 코드 세트
Ack는 파일 검색 이상의 작업을 수행합니다. "ack -f --perl"은 모든 Perl 파일 목록을 생성합니다.
보내기에 이상적인 나무에서 xargs. 예를 들면 :
# 트리의 모든 Perl 파일에서 "this"를 모두 "that"으로 변경합니다.
ack -f --펄 | xargs perl -p -i -e's/this/that/g'
또는 원하는 경우 :
perl -p -i -e's/this/that/g' $(ack -f --perl)
-Q 언제 in 의심 about 메타 문자
정규식 메타 문자로 무언가를 검색하는 경우 대부분의 경우
파일 이름 또는 IP 주소에 마침표가 있는 경우 -Q를 추가하여 모든
백슬래싱. 자세한 내용은 다음 예를 참조하십시오...
포장전시회 에 손목 시계 기록 파일
다음은 웹 사이트 방문자의 문제 지점을 찾기 위해 다른 날 사용한 방법입니다. 사용자는
문제로드 골칫거리.gif, 그래서 액세스 로그를 가져 와서 ack로 두 번 스캔했습니다.
ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 귀찮은.gif
첫 번째 ack는 지정된 IP에 대한 Apache 로그의 행만 찾습니다. 두 번째 발견
내 골칫거리 GIF의 일치, 각각의 로그에서 이전 다섯 줄을 보여줍니다
케이스.
예 of --산출
다음 변수는 확장 문자열에서 유용합니다.
$& PATTERN과 일치하는 전체 문자열.
1달러, 2달러, ...
PATTERN에서 괄호로 묶인 1st, 2nd ... 그룹의 내용.
"$`"
일치 전 문자열입니다.
"$'"
일치 후 문자열입니다.
자세한 내용 및 기타 변수는 다음을 참조하십시오.
<http://perldoc.perl.org/perlvar.html#variables-related-to-regular-expressions|perlvar>.
이 예는 특정 패턴 주위에 텍스트를 추가하는 방법을 보여줍니다(이 경우 _
"e"로 단어 주변)
ack2.pl "\w*e\w*" quick.txt --output="$`_$&_$'"
게으른 개를 뛰어넘는 _The_ 재빠른 갈색 여우
날렵한 갈색 여우가 게으른 개를 _넘어_ 뛰어넘다
게으른 개를 뛰어넘는 재빠른 갈색 여우
일반 내에서 ( )를 사용하여 경기의 특정 부분을 선택하는 방법을 보여줍니다.
표현.
ack '=head(\d+)\s+(.*)' --output=' $1 : $2'
입력 파일에 "=head1 NAME" 포함
출력 "1 : 이름"
공유 your 지식
ack-users 메일링 리스트에 가입하세요. 팁을 보내주시면 여기에 추가할 수 있습니다.
자주 하는 질문
아니다 포장전시회 발견 a 일치 in (약간 파일)?
아마도 ack가 인식하지 못하는 유형이기 때문일 것입니다. ack의 검색 동작은
파일 형식으로 구동됩니다. If 포장전시회 하지 않습니다 알고있다 뭐 종류 of 파일 it 예를 들어, 포장전시회 무시 전에, 파일.
ack가 검색할 파일 목록을 보려면 "-f" 스위치를 사용하십시오. 다음을 사용할 수 있습니다.
"--show-types" 스위치는 ack가 각 파일이 어떤 유형이라고 생각하는지 표시합니다.
하지 않을 it be 큰 if 포장전시회 한 수색 & 바꾸다?
아니요, ack는 항상 읽기 전용입니다. Perl은 검색 및 바꾸기를 수행하는 완벽하게 좋은 방법을 가지고 있습니다.
"-i", "-p" 및 "-n" 스위치를 사용하는 파일.
확실히 ack를 사용하여 업데이트할 파일을 선택할 수 있습니다. 예를 들어 모두 변경하려면
모든 PHP 파일에서 "foo"에서 "bar"로, Unix 셸에서 이 작업을 수행할 수 있습니다.
$ 펄 -i -p -e's/foo/bar/g' $(ack -f --php)
수 I 확인 포장전시회 인식 XYZ 파일?
예! "자체 유형 정의"를 참조하십시오. 당신이 생각한다면 포장전시회 유형을 인식해야 함
기본적으로 "향상"을 참조하십시오.
저기있다. 이미 a 프로그램/패키지 라는 앗.
네, 알아요.
is it 라는 포장전시회 if 그건 라는 ack-grep?
프로그램 이름은 "ack"입니다. 일부 패키저는 생성할 때 "ack-grep"이라고 불렀습니다.
아무 관련이 없는 "ack"라는 패키지가 이미 있기 때문입니다.
이 ack와 함께.
이름이 지정된 심볼릭 링크를 만드는 것이 좋습니다. 포장전시회 그 가리키는 ack-grep 결정적인 것 중 하나이기 때문에
ack의 이점은 이름이 너무 짧고 입력하기 쉽다는 것입니다.
그렇게하려면 다음과 같이 실행하십시오. sudo는 또는 루트로:
ln -s /usr/bin/ack-grep /usr/bin/ack
또는 쉘 별칭을 사용할 수 있습니다.
# 배쉬/zsh
별칭 ack=ack-grep
#csh
별칭 ack ack-grep
뭐 하지 포장전시회 평균?
아무것도 아님. 타이핑하기 쉽고 싱글로 발음할 수 있는 이름을 원했습니다.
음절.
수 I do 여러 줄 정규식?
아니요, ack는 여러 줄과 일치하는 정규 표현식을 지원하지 않습니다. 그렇게 하려면 다음이 필요합니다.
한 번에 전체 파일을 읽습니다.
매치 근처의 라인을 보려면 "--A", "--B" 및 "--C" 스위치를 사용하십시오.
컨텍스트를 표시합니다.
is 포장전시회 이야기 me I 있다 an 무효의 option 언제 수색 for "+푸"?
ack는 "+" 또는 "-"로 시작하는 명령줄 옵션을 옵션으로 취급합니다. 원한다면
이를 검색하려면 검색어 앞에 "--"를 붙이거나 "--match" 옵션을 사용할 수 있습니다.
(그러나 "+"는 정규 표현식 메타 문자라는 것을 잊지 마십시오!)
하지 "알았어 '.{40000,}'" 불합격? 그렇지 않습니다 그 a 유효한 정규식?
Perl 언어는 반복 한정자를 32K로 제한합니다. ".{32767}"을 검색할 수 있습니다.
하지만 ".{32768}"은 아닙니다.
ACKRC 주소 의미론
Ack는 여러 소스에서 구성을 로드할 수 있습니다. 이 목록은 Ack 소스를 지정합니다.
구성을 찾습니다. 발견된 각 항목은 여기에 지정된 순서대로 로드되며
각각은 이전 소스에 설정된 옵션을 재정의합니다. (예를 들어 내가 설정하면
내 사용자 ackrc의 --sort-files 및 명령줄의 --nosort-files, 명령줄
우선)
· 기본값은 App::Ack::ConfigDefaults에서 로드됩니다. 다음을 사용하여 생략할 수 있습니다.
"--무시-ack-기본값".
· 글로벌 ackrc
옵션은 전역 ackrc에서 로드됩니다. 이것은 "/etc/ackrc"에 있습니다.
유닉스 계열 시스템.
Windows XP 및 이전 버전에서 ackrc는 "C:\Documents and Settings\All
사용자\응용 프로그램 데이터\ackrc".
Windows Vista/7에서 전역 ackrc는 "C:\ProgramData"에 있습니다.
"--noenv" 옵션은 모든 ackrc 파일이 로드되는 것을 방지합니다.
· 사용자 ackrc
옵션은 사용자의 ackrc에서 로드됩니다. 이것은 "$HOME/.ackrc"에 있습니다.
유닉스 계열 시스템.
Windows XP 및 이전 버전에서 사용자의 ackrc는 "C:\Documents and
설정\$사용자\응용 프로그램 데이터\ackrc".
Windows Vista/7에서 사용자의 ackrc는 다음 위치에 있습니다. .
다른 사용자 수준 ackrc를 로드하려면 $ACKRC로 지정할 수 있습니다.
환경 변수.
"--noenv" 옵션은 모든 ackrc 파일이 로드되는 것을 방지합니다.
· 프로젝트 ackrc
옵션은 프로젝트 ackrc에서 로드됩니다. 프로젝트 ackrc는 첫 번째 ackrc입니다.
이름이 ".ackrc" 또는 "_ackrc"인 파일, 먼저 현재 디렉토리에서 검색,
상위 디렉토리, 상위 디렉토리 등. 생략 가능
"--noenv"를 사용합니다.
· --ackrc
"--ackrc" 옵션은 ackrc 파일을 지정하기 위해 명령줄에 포함될 수 있습니다.
다른 모든 것을 무시할 수 있습니다. "--noenv"가 있는 경우에도 참조됩니다.
· ACK_옵션
그런 다음 환경 변수 "ACK_OPTIONS"에서 옵션이 로드됩니다. 이것은 될 수있다
"--noenv"를 사용하여 생략했습니다.
· 명령줄
그런 다음 명령줄에서 옵션을 로드합니다.
차이점 중에서 ACK 1.X 및 ACK 2.X
ack 2에 대해 많은 변경이 이루어졌습니다. 여기에 그 목록이 있습니다.
일반 변경
· 선택자가 지정되지 않은 경우 ack 1.x는 매핑할 수 있는 파일만 검색합니다.
파일 형식으로. 반대로 ack 2.x는 바이너리가 아닌 모든 일반 파일을 검색합니다.
다음을 통해 명시적으로 무시되지 않는 파일 --무시-파일 or --무시 디렉토리. 이것은
의 행동과 유사하다. -a/--모두 ack 1.x의 옵션.
· 보다 유연한 필터 시스템이 추가되어 보다 강력한 파일 형식을 사용할 수 있습니다.
사용자가 생성했습니다. 자세한 내용은 "자체 유형 정의"를 참조하십시오.
· 이제 ack는 여러 ackrc 파일을 로드합니다. 자세한 내용은 "ACKRC 위치 의미 체계"를 참조하십시오.
· ack의 기본 필터 정의는 특별하지 않습니다. 당신은 ack에게 완전히 말할 수 있습니다
마음에 들지 않으면 무시하십시오.
삭제됨 옵션
· 기본 검색 동작의 변경으로 인해 -a/--모두 and -u/--무제한
옵션이 제거되었습니다. 또한, -k/--알려진 유형 옵션이 추가되었습니다
ack가 ack 1.x의 기본 검색 동작으로 동작하도록 합니다.
· -G 옵션이 제거되었습니다. 명령줄에 있는 두 개의 정규식은
너무 혼란스러운 것으로 간주됩니다. 시뮬레이트하다 -G의 기능을 사용할 수 있습니다. -x
하나의 ack 호출에서 다른 호출로 파일 이름을 파이프하는 옵션.
· --바이너리 옵션이 제거되었습니다.
· --건너뛰기 옵션이 제거되었습니다.
· --본문 옵션이 제거되었습니다.
· --반전 파일 일치 옵션이 제거되었습니다. 대신 다음을 사용할 수 있습니다. -v 과 -g.
변경됨 옵션
· 정규 표현식의 동작을 수정하는 옵션(-i, -w, -Q및 -v) 지금
~와 함께 사용하다 -g.
ADDED 옵션
· --파일-출처 사용자가 파일 이름 목록을 목록으로 제출할 수 있도록 추가되었습니다.
검색할 파일.
· -x 표준 입력을 통해 파일 이름 목록을 수락하도록 ack에 알리기 위해 추가되었습니다. 이 목록
검색에 사용될 파일 이름 목록입니다.
· -s 존재하지 않거나 읽을 수 없다는 오류 메시지를 표시하지 않도록 ack에 알리기 위해 추가되었습니다.
파일.
· --ignore-디렉토리 and --noignore-디렉토리 에 대한 별칭으로 추가되었습니다. --무시 디렉토리 and
--noignore-dir 각각.
· --무시-파일 사용자가 무시할 파일의 패턴을 지정할 수 있도록 추가되었습니다(예:
/.*~$/).
· --덤프 사용자가 어떤 옵션이 어디에 설정되어 있는지 쉽게 찾을 수 있도록 추가되었습니다.
· --create-ackrc 사용자가 다음을 기반으로 사용자 지정 ackrc 파일을 만들 수 있도록 추가되었습니다.
기본 설정은 ack에 의해 로드되어 사용자가 해당 기본값을 쉽게 볼 수 있습니다.
· --유형-델 파일 유형 정의를 선택적으로 제거하기 위해 추가되었습니다.
· --무시-승인-기본값 사용자가 ack의 기본 옵션을 무시할 수 있도록 추가되었습니다.
그들 자신의 호의.
· --술집 ack 사용자가 Ackbar 제독에게 문의할 수 있도록 추가되었습니다.
onworks.net 서비스를 사용하여 온라인에서 ack-grepp 사용