mah*_*ima 6 grep sed awk shell-script
我有一个像
CK,ck
XYZ,xyz,xyzs
ABC,abc,abcs
PQR,pqr,pqrs
LMN,lmn,
IJK,ijk,
Run Code Online (Sandbox Code Playgroud)
我必须检查第 3 列中是否写了除空格之外的内容,然后显示整行。输出将是:
XYZ,xyz,xyzs
ABC,abc,abcs
PQR,pqr,pqrs
Run Code Online (Sandbox Code Playgroud)
一种sed做法:
sed -n '/[^,]*,[^,]*,[^, ]\+/p' file
Run Code Online (Sandbox Code Playgroud)
或者grep解决办法:
grep -oE '^[^,]*,[^,]*,[^, ]+' file
Run Code Online (Sandbox Code Playgroud)
并且awk:
awk -F, '$3 ~ /[^, ]+/' file
Run Code Online (Sandbox Code Playgroud)
小智 3
你可以在 awk 中做这样的事情:
awk -F',' '{gsub(/[ \t]+$/,"",$3)}$3' foo.csv
Run Code Online (Sandbox Code Playgroud)
这将删除尾随空格,并且仅在第三个字段中剩余内容时才打印。