다음과 같은 CSV 파일이 있습니다.
CK,ck
XYZ,xyz,xyzs
ABC,abc,abcs
PQR,pqr,pqrs
LMN,lmn,
IJK,ijk,
3열에 공백을 제외한 내용이 기록되어 있는지 확인한 다음 전체 행을 표시해야 합니다. 출력은 다음과 같습니다:
XYZ,xyz,xyzs
ABC,abc,abcs
PQR,pqr,pqrs
답변1
떨어져 sed
있는:
sed -n '/[^,]*,[^,]*,[^, ]\+/p' file
또는 grep
해결책:
grep -oE '^[^,]*,[^,]*,[^, ]+' file
그리고 awk
:
awk -F, '$3 ~ /[^, ]+/' file
답변2
노력하다:
$ awk -F, '$3 && $3 != " "' file
XYZ,xyz,xyzs
ABC,abc,abcs
PQR,pqr,pqrs
또는:
$ awk -F, '$3 ~ /[^[:blank:]]/' file
답변3
awk에서는 다음과 같은 작업을 수행할 수 있습니다.
awk -F',' '{gsub(/[ \t]+$/,"",$3)}$3' foo.csv
그러면 후행 공백이 제거되고 세 번째 필드에 내용이 남아 있는 경우에만 인쇄됩니다.
답변4
GNU 사용 awk
:
awk -F, '$3' input_file