次の内容を含むファイルをキャプチャする方法はありますか?
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