633,000개의 행을 포함하고 모두 3개의 열을 포함하는 텍스트 파일이 있습니다.
768844 30050038638556 0
768892 30050018569904 1
768967 30050028970902 0
파일의 세 번째 열에 "1"이 포함된 행을 추출하는 방법, 결과는 1을 포함하는 행만 되어야 합니다.
768892 30050018569904 1
답변1
열 3이 정확히 "1"이 되도록 하려면 다음을 수행하십시오.
awk '$3==1' input > output
3열을 원하시면포함하다'1'이면 다음과 같습니다.
awk '$3~1' input > output
sed를 선호하는 경우 "열 3은 정확히 1입니다"는 다음과 같습니다.
sed -rn '/^[^ ]*[ ]*[^ ]*[ ]+1$/ p' input > output
...그리고 sed의 "열 3에는 1이 포함되어 있습니다":
sed -rn '/^[^ ]*[ ]*[^ ]*[ ]+.*1.*$/ p'
답변2
세 번째 열 뒤에 공백이 없고(즉, 숫자가 행의 맨 끝에 있음) 세 번째 열에서는 한 자리 숫자만 처리한다고 가정합니다.
grep '1$' input.txt > output.txt