名前は同じですが、拡張子が異なるファイルを見つけてtgzに送信します。

名前は同じですが、拡張子が異なるファイルを見つけてtgzに送信します。

私はカメラで編集された画像の大規模なアーカイブを持っていますが、各画像は実際には*.nefファイルと*.xmpファイルのペアです。すべてのフォルダに移動し、ペアを単一のtgzファイルに圧縮したいと思います。

ディレクトリ内の各ファイル名は一意であるため、ls *.nefコマンド出力からファイル名を移動するだけで十分ですtar -czf {filename}.tgz {filename}.*が、どこから始めるべきかわかりません。

よろしくお願いします。

ベストアンサー1

短いスクリプトxfun:

#!/bin/bash
b=$(basename "$1" .xmp)
# echo "tar -cjf $b.tar.bz2 $b.xmp $b.nef"
tar -cjf "$b.tar.bz2" -- "$b.xmp" "$b.nef"

移動する:

find -name "*xmp" -execdir ./xfun {} ";" 

おすすめ記事