在 Unix 中仅搜索单个单词

在 Unix 中仅搜索单个单词

有什么方法可以捕获具有以下内容的文件:

field1,field2,field number 3,field4,field5

field1,field2,field3,field4,field5

(有些字段有空格,有些字段没有)

我想使用awk$1 和 $3 进行打印,但只打印字段 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

相关内容