(私の考えでは)少しのスクリプト魔法が必要な問題がありますが、何が最善なのかはわかりません...
jpg、gif、png、tiff、svgなど、さまざまな形式の画像を含むディレクトリがあります。
一部(すべてではありません!) pngとsvgファイルはペアで提供されます。同じイメージのpngおよびsvgバージョンでは、ファイル名は同じで、サフィックスのみが異なります(例:figleaf.pngおよびFigleaf.svg)。
(で作成された)ファイルのリストをインポートし、ls
すべてのツインsvgバージョンを削除し、pngバージョンのみを残すにはスクリプトが必要です。 png-twinのないsvgファイルを含む他のすべてのファイル(ツインではない)はリストに残る必要があります(ツインのpngバージョンも同じです)。または、すべてのsvgファイルのリストを生成する適切なpng-twinスクリプトを使用します。
一部のツインバージョンはお互いに少し異なる場合があると思います。 Figleaf.pngとFigLeaf.svg - スクリプトが可能であれば良いでしょう。オプションで大文字と小文字を無視するように変更されました。
ベストアンサー1
bash / kshを使用してこれを行うことができます。
for i in *.svg; do test -e "${i%.*}.png" && rm "$i"; done
または他の形式で:
for i in *.svg; do
test -e "${i%.*}.png" && rm "$i"
done
実際の削除を実行する前にテストと交換してくださいrm
。echo
編集する:
Sputnickは彼の答えでこれに非常に似た解決策を編集しました。彼が初めて答えたので、彼の解決策を受け入れる必要があります。