지정된 열보다 많은 열을 포함하는 파일에서 행을 추출하는 스크립트가 필요합니까 awk
?
답변1
$ awk 'NF > 10 { print NR }' data.in
그러면 줄 번호가 인쇄됩니다(실제로는기록그러나 기본적으로 행은 하나의 레코드이므로 차이가 없습니다.) 각 행에는 10개 이상의 필드가 포함됩니다. 기본적으로 필드는 공백으로 구분된 문자열입니다. 다른 구분 기호가 있는 경우 -F
( -F ','
쉼표 대신)을 사용합니다.
$ awk -F ',' 'NF > 10 { print NR }' data.in
줄 번호 대신 줄을 보려면 더 간단합니다.
$ awk 'NF > 10' data.in
답변2
질문이 "최대" 열 수보다 많은 파일에서 줄을 인쇄하는 방법인 경우 다음 방법 중 하나를 따르세요.
awk -v max=9 'NF > max' your-file-here
지정하려는 최대값(여기서는 9)을 전달합니다.
답변3
추출이 삭제를 의미하는 경우 사용할 수 있습니다.awk
$ awk 'NF < 10' my-file.in > my-file.out
무너지다
NF
현재 처리 중인 행에 필드 수를 표시하는 awk 변수입니다.
< 10
NF가 10보다 작으면 라인을 인쇄합니다.
my-file.in
입력 파일.
> my-file.out
출력을 새 파일로 리디렉션합니다.
awk에 대해 더 자세히 알고 싶다면 awk가 내장되어 있으며 내장 awk 변수의 레이아웃이 매우 훌륭하다고 생각합니다.여기.