Unix에서는 한 단어만 검색합니다.

Unix에서는 한 단어만 검색합니다.

다음 내용이 포함된 파일을 캡처할 수 있는 방법이 있습니까?

field1,field2,field number 3,field4,field5

field1,field2,field3,field4,field5

(일부 필드에는 공백이 있고 일부 필드에는 공백이 없습니다.)

$1과 $3을 사용하여 인쇄 하고 싶지만 awk필드 3에는 공백 없이 줄만 인쇄합니다.
awk에서 다음으로 시작하고 끝나는 항목만 인쇄할 수 있는 방법이 있는지 모르겠습니다.

답변1

awk -F, '$3 !~ / / {print $1,$3}' input-file

답변2

필드 3의 행에는 공백이 없습니다.

awk -F, '{n=split($3,a," ");if(n==1){print $1,$3}}' filename

답변3

perl -F, -lane '$F[2] =~ /\s/ || print "@F[0,2]"' yourfile

sed -ne 's/^\([^,]*\),[^,]*,\([^ ,]*\)\(,.*\)\{0,\}$/\1 \2/p' yourfile

while IFS=, read -r f1 x f3 x; do case $f3 in *" "* ) : ;; * ) echo "$f1 $f3" ;; esac; done < yourfile

관련 정보