シェルスクリプトまたはawkスクリプトは、最初の列/フィールドが空のファイルを削除します。

シェルスクリプトまたはawkスクリプトは、最初の列/フィールドが空のファイルを削除します。

ディレクトリに複数のCSVファイルがあります。最初の列に数字がないか空のファイルの名前を変更したいと思います。新しいファイル名はfilename.badでなければなりません。

このawkコマンドを試しましたが、うまくいきません。

awk '{ if (! ($1 ~ /[0-9]/)) print $1 }' *.csv .

ファイルは次のようになります。ファイル1.csv:

123,ggg,fhghgh,fhgh
345,bla,bla,bla

ファイル2.csv:

234,bla,bla,bla
,bla,bla,bla

番号が欠落している間違ったファイルなので、名前を変更して削除する必要があります。

ベストアンサー1

削除する最初の列に数字がないか空のファイル:

シンプルgrep方法:

for f in *.csv; do grep -Eq '^(,|[^0-9])' "$f" && rm "$f"; done

おすすめ記事