理想的には1行から2行のデータが必要なCSVファイルを作成していますが、次のようになります。
11,ABC,3,4,5,6
,,,,,
私は成功せずに空行を削除するためにsedとawkコマンドを使ってみました。
sed -i 's/,,//g' fileName.csv
(奇数のカンマがある場合、これは動的解決策ではないため)
awk -F, 'length>NF+1' fileName.csv > fileName.csv
(ファイルに入れようとすると、ファイルからすべての行が削除されます。おそらく、sedコマンドとawkコマンドに慣れていないのは問題かもしれません。)
ベストアンサー1
データ転送
grep '[^,]'
非カンマ文字を含む行が抽出されます。その行を効果的に削除します。ただカンマを含めます。
例えば:
grep '[^,]' filename.csv >newname.csv
シェルは、リダイレクトするファイルを実行する前に切り取る(空にする)ため、読んでいるのと同じ名前にリダイレクトできませんgrep
。
sed
実装が次の構文をサポートしている場合は、sed
内部編集で行うこともできます。
sed -n -i '/[^,]/p' filename.csv
または
sed -i '/[^,]/!d' filename.csv
awk -i inplace '/[^,]/' filename.csv