名前は同じですが、拡張子が異なるファイルを探す[閉じる]

名前は同じですが、拡張子が異なるファイルを探す[閉じる]

必要に応じて、XLS、XLSX、DOC、およびDOCXのPDFファイルを生成するレガシーアプリケーション(サポートされていません)があります。アプリケーションのディスクがいっぱいで、このPDFを削除する必要があります。だから私はこれらすべてのPDFを見つけて、後で削除できるスクリプトを探しています。

私はいくつかの調査をしましたが、seamは同様のことをしましたが、手動で表示してスキャンできるように、フォルダフォルダの完全なパスとファイル拡張子とサイズがありません。

find . -exec bash -c 'basename "$0" ".${0##*.}"' {} \; | sort | uniq --repeated

答え1

そしてzsh

set -o extendedglob
print -rC1 -- **/*.(#i)pdf(ND.e['()(($#)) $REPLY:r.(#i)(doc|xls)(x|)(N.Y1)'])

pdf同じルート名を持つ 1 つ以上の doc/docx/xls/xlsx 一般ファイルを含む一般ファイルをリストします (拡張子は大文字と小文字を区別しません(#i))。

print -rC1削除するには(print raw on olum 1 C)をに置き換えます。rm

関連情報