파일이 있어요file.txt
c-hcos-49.84.202106221
c-hcos-4.4.9-open
c-hcos-4.9.9-open
49
문자열이 포함된 줄이나 그 바로 뒤에 오는 문자열을 grep하고 싶습니다 .4.9
hcos-
나는 사용했다
cat file.txt| grep 'hcos' | grep '4\\.9\\|49'
실제 출력의 출력 라인을 모두 보여줍니다.
c-hcos-49.56.202106221
c-hcos-4.4.9-open
c-hcos-4.9.9-open
예상 출력은 다음과 같습니다.
c-hcos-49.84.202106221
c-hcos-4.9.9-open
답변1
49.
귀하의 경우 문자열을 포함하거나 바로 뒤에 오는 모든 줄을 찾고 싶습니다 . 이렇게 하려면 다음을 사용하세요.4.9.
hcos-
grep -E 'hcos-4\.?9\.' file.txt
이 -E
옵션은 grep
확장된 정규식 구문의 사용을 나타냅니다. 기본 정규식 구문에서는 다음을 통해 이를 달성할 수 있습니다.
grep 'hcos-4\.\{0,1\}9\.' file.txt
파일을 직접 열 수 있으므로 파일 cat
을 넣을 필요가 없습니다 .grep
grep
답변2
이 문제를 해결하는 일반적인 방법은 교대를 사용하는 것입니다.
grep 'hcos-\(4\.9\|49\)' file.txt
(선택적인 "."가 있는 솔루션은 이 특정 경우에만 작동합니다).