순전히 리터럴 문자열을 검색하는 grep 유형 도구를 찾고 있습니다. 별도의 로그 파일에서 한 줄의 일부로 로그 파일 줄의 발생을 찾고 있습니다. 검색 텍스트에는 모든 종류의 정규식 특수 문자 (예 : []().*^$-\
.
정규식을 사용하지 않고 문자열의 리터럴 항목 만 검색하는 유닉스 검색 유틸리티가 있습니까?
답변
-F 옵션과 함께 grep을 사용할 수 있습니다.
-F, --fixed-strings PATTERN is a set of newline-separated fixed strings
답변
그것은 fgrep
또는 grep -F
정규식을 수행하지 않을 것입니다. fgrep
동일 grep -F
하지만 본질적으로 게으른 인수에 대해 걱정할 필요가 없습니다.
grep -> grep
fgrep -> grep -F (fixed)
egrep -> grep -E (extended)
rgrep -> grep -r (recursive, on platforms that support it).
답변
에 -F
전달하십시오 grep
.
답변
awk를 사용할 수도 있습니다. 고정 된 문자열을 찾을 수있을뿐만 아니라 프로그래밍 기능도 있습니다.
awk '{for(i=1;i<=NF;i++) if($i == "mystring") {print "do data manipulation here"} }' file
답변
cat list.txt
one:hello:world
two:2:nothello
three:3:kudos
grep --color=always -F"hello
three" list.txt
산출
one:hello:world
three:3:kudos