「.c」で終わらないファイルを削除するには?

「.c」で終わらないファイルを削除するには?

すべてのCプログラムを含むディレクトリがあります。また、コードを確認できるように生成時にコンパイルしました。プログラムはほぼ100に達します。そのため、ファイルが「.c」で終わるかどうかを確認するBASHスクリプトが必要です。そうであれば何もしません。そうでなければ削除します。私のファイル名の1つが「Hello.c」であると仮定し、コンパイルするときにバイナリ名を「Hello」と指定します。誰かが私のためにこのスクリプトを作成できますか?

ベストアンサー1

-delete(最初のテスト)フラグを使用できますfind-ls

find -not -name "*.c" -delete

を使用せずにfind現在のディレクトリのファイルのみを使用したい場合は、次のことができます。

rm !(*.c)

正しいワイルドカードがbash設定されていることを確認してください。shopt -s extglobまた、globstar()を設定するとshopt -s globstar再帰的に作業できます(bashバージョン4+の場合)。

rm **/!(*.c)

おすすめ記事