fgrep -ircl --include=*.{sql} "[--]" *
트릭을 수행하지 않는 것 같습니다. 도와주세요 ...대시 '-'를 어떻게 FGREP 할 수 있습니까?
답장을 보내 주셔서 감사합니다. 나는 '-'를 '#'로 대체하려고 노력하고 있으며 힘든 시간을 보내고 있습니다. 여기에 new question을 만들었습니다. 당신이 도울 수 있다면, 그것은 굉장했습니다.
fgrep -ircl --include=*.{sql} "[--]" *
트릭을 수행하지 않는 것 같습니다. 도와주세요 ...대시 '-'를 어떻게 FGREP 할 수 있습니까?
답장을 보내 주셔서 감사합니다. 나는 '-'를 '#'로 대체하려고 노력하고 있으며 힘든 시간을 보내고 있습니다. 여기에 new question을 만들었습니다. 당신이 도울 수 있다면, 그것은 굉장했습니다.
를 사용
대괄호 안에 대시 문자를 이스케이프 처리해야합니다. 대시 문자는 문자 클래스 내의 범위를 나타내는 데 사용됩니다 (예 : [a-z]
). 그러나이 경우 대괄호를 사용하여 리터럴 문자열을 일치시킬 필요가 없습니다.
마지막으로 --
은 argument parsing을 중지시키는 speical 시퀀스입니다. 인수로 리터럴 --
를 포함하려면, 당신은 명시 적으로 인수 구문 분석을 중지해야합니다 다음 (단일) -
문자와 일치하는 정규 표현식 문자 클래스처럼 보이는
fgrep -ircl --include=*.{sql} -- -- *
문자 클래스 안에서 벗어나는 것은 의미를 바꾸지 않을 것입니다. –
합니다. 문자열 --
는 일반적으로 "더 이상 매개 변수에 따라 없습니다"표시하는 데 사용됩니다, 그래서 아마 당신은 당신이 검색 할 실제 문자열 뒤에 "매개 변수의 끝"입니다
fgrep -ircl --include=*.{sql} -- -- *
을 시도해야합니다.
대시 문자는 [a-z] 또는 [0-9] 범위를 나타 내기 때문에 대괄호 [] 안의 첫 번째 위치에만있을 수 있습니다. 당신은 [-] [-] 할 수 있습니다. 작은 따옴표 '[--]'
대신 "[--]"
fgrep -ircl --include=*.{sql} '[--]' *
그들은 또한 마지막 일 수 있습니다. :) –
그냥 grep [-] [-]를 사용하지만 fgrep과 함께 작동하지 않습니다. ( – ThinkCode
@calmh - 나는 그것을 고마워했습니다. –
시도는 .sql
로 끝나는 모든 파일을 fgrep 할 경우
fgrep -ircl --include=*.sql -- -- *
를 사용하거나 ({sql,}
에서 쉼표주의 :
fgrep -ircl --include=*.{sql,} -- -- *
원하는 경우 오 fgrep 확장 하나 개 이상의 유형이 다음 다른 사람이 이미 언급 한 바와 같이
fgrep -ircl --include=*.{sql,txt} -- -- *
같은 것을 사용하는 첫 번째 --
는 플래그와 옵션을 찾고 중지 fgrep를 알려줍니다. 두 번째 --
은 고정 문자열 패턴입니다.
fgrep! = 빠른 grep – meagar
나는 동의하고 동의하지 않습니다. grep보다 더 좋은 성능을 보여줍니다. 그리고 fgrep도 fast-grep을 의미합니다! – ThinkCode
아니요, 그렇지 않습니다. 'fgrep '은 fast-grep을 뜻합니다. 사실'fgrep '은 고정 문자열 grep을 의미하며'grep'보다 성능이 향상되지 않습니다. http://ss64.com/bash/fgrep.html (또는> man fgrep) –