同期ファイルを使用すると、拡張子ではなくファイル名のみが比較されます。

同期ファイルを使用すると、拡張子ではなくファイル名のみが比較されます。

さまざまな種類のオーディオファイル(WMA、MP3、M4V...)を含む2つのフォルダを同期しようとしています。

これらのフォルダを同期したいが、同期プロセスでは拡張子ではなくファイル名のみを考慮する必要があります。したがって、フォルダAに「the Suburbs.mp3」が含まれ、フォルダBに「the Suburbs.m4v」が含まれている場合、同期プログラムは両方のファイルを同じものとして扱う必要があり、同期しないでください。

rsyncに関するドキュメントを調べていますが、これを行う方法が見つからないようです。

これを行うことができる他のソフトウェアの提案や提案がある人はいますか?

ベストアンサー1

可能なすべての拡張子を持つ空のファイルを作成します--ignore-existing

find A -type f \( -name '*.flac' -o -name '*.m4v' -o -name '*.mp3' -o '*.ogg' -o '*.wma' \) \
     -exec sh -c '
  for base; do
    base=${base%.*};
    for ext in flac m4v mp3 ogg wma; do : >>"$base.$ext"; done;
  done' _ {} +
# Do the same on B …
rsync -a --ignore-existing A B

あなたは興味があるかもしれませんmp3fs、ㅏFUSEスタック可能ファイルシステムすべてのオーディオファイルがMP3として表示されるディレクトリツリービューを提供します。私はこれがあなたの問題を解決するのに特に役立つとは思わないが、あなたの問題を解決するか、または他の方法で役に立つことが証明された代替手段になるかもしれません。

おすすめ記事