여러 개의 숫자가 포함된 두 개의 열로 구성된 파일이 있는데 두 번째 열이 1.008, 1.009 또는 1.01로 시작하는 줄을 검색하고 찾고 싶지만 첫 번째와 두 번째 열을 모두 인쇄하고 싶습니다.
나는 시도했다:
grep -Ev '^1.008|^1.009|^1.01'
하지만 작동하지 않습니다.
답변1
표로 작성된 데이터에서 한 필드를 검색할 때 awk
골든 티켓은 다음과 같습니다.
awk '$2 ~ /^1.0(0[89]|1$)/ { print $1,$2 }' /path/to/inputfile
그러면 지정한 패턴("다음으로 시작 1.009 or 1.009
하거나 같음 1.01
")이 두 번째 필드에 적용되고 일치하는 경우 첫 번째 및 두 번째 필드가 출력됩니다.
답변2
파일 이름 exercise.txt
이 다음과 같다고 가정합니다.
a 1.008
b 1.00005
c 1.01
d 1.01
e 1.009
awk '( $2 >= 1.008 && $2 < 1.02 ) { print $1,$2 }' exercise.txt > output.txt
그렇다면 당신은:
$ head output.txt
a 1.008
c 1.01
d 1.01
e 1.009