重複ファイルをクリーンアップできるように、ディレクトリ ツリーのクローンを作成する必要があります。
ファイルのコピーは必要ありません。ファイルだけが必要なので、ハード リンクを使用して一致するツリーを作成したいと考えています。
バックアップに数時間かかることに気付いたとき、これを数分でまとめました
実行する前に調べるためにファイルにリダイレクトするコマンドをエコーするだけです。
もちろん、引用符やコンマを含むファイルやディレクトリなどの通常の問題は解決されていません (bash スクリプトはこれに対応していませんよね、これと先頭のダッシュを含むファイル)。
すでにこれを堅牢な方法で行うユーティリティはありませんか?
BASEDIR=$1
DESTDIR=$2
for DIR in `find "$BASEDIR" -type d`
do
RELPATH=`echo $DIR | sed "s,$BASEDIR,,"`
DESTPATH=${DESTDIR}/$RELPATH
echo mkdir -p \"$DESTPATH\"
done
for FILE in `find "$BASEDIR" -type f`
do
RELPATH=`echo $FILE | sed "s,$BASEDIR,,"`
DESTPATH=${DESTDIR}/$RELPATH
echo ln \"$FILE\" \"$DESTPATH\"
done