두 개의 대체 버전 번호를 검색하려면 "grep"을 사용하십시오.

두 개의 대체 버전 번호를 검색하려면 "grep"을 사용하십시오.

파일이 있어요file.txt

c-hcos-49.84.202106221
c-hcos-4.4.9-open
c-hcos-4.9.9-open

49문자열이 포함된 줄이나 그 바로 뒤에 오는 문자열을 grep하고 싶습니다 .4.9hcos-

나는 사용했다

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을 넣을 필요가 없습니다 .grepgrep

답변2

이 문제를 해결하는 일반적인 방법은 교대를 사용하는 것입니다.

grep 'hcos-\(4\.9\|49\)' file.txt

(선택적인 "."가 있는 솔루션은 이 특정 경우에만 작동합니다).

관련 정보