誰でも区切り記号(カンマ)に基づいてファイルの行を削除するのに役立ちますか?行に列数が少ないか、誤ったレコードが含まれている場合は削除する必要があります。
Input File:
a,b,c,d
a,b,d,f
c,d
a,v,b,h
d,e,v,n
上記のファイルで区切り文字が4未満の場合は、その行をファイルから削除する必要があります。
Output File :
a,b,c,d
a,b,d,f
a,v,b,h
d,e,v,n
以下のコマンドは、1行の区切り記号の数を提供します。 4と同じでない場合はどうすれば削除できますか?
egrep -iv '"' file.csv | awk -F',' '{print NF}'
ありがとうございます。
ベストアンサー1
別のPerl:3つのカンマがある場合は、1行を印刷します。
perl -i.bak -ne 'print if tr/,/,/==3' file
このtr
演算子は、翻訳された文字数を返します。