
2つの列を持つCSVファイルがあります。最初はID(int)、2番目はテキストです。すべての行にはID列があります。 2番目の列が空の(長さ0または空白)ファイルを削除したいと思います。
頑張った
sed -i '/^[0-9]+,\s*$/d' file.csv
しかし、うまくいきません。
答え1
拡張正規表現をエスケープ、+
使用、または追加する\{1,\}
必要があります。-E
sed -i '/^[0-9]\+,\s*$/d' file.csv
sed -i '/^[0-9]\{1,\},\s*$/d' file.csv
sed -Ei '/^[0-9]+,\s*$/d' file.csv
または以下を使用してくださいgrep
。
grep -v '^[0-9]\+, *$' file.csv
しかし、私は適切なcsvパーサーを好みます。
csvgrep -S -c2 -r '.' file.csv