みんな、
私の質問に対する答えが見つからないので、次のようになります。
1つのディレクトリにある10000を超えるPDFファイルを、「同じ」PDFがすでに存在する一意のフォルダに置き換え/配布する「作業」を実行したいと思います(PDF名のみ同じ)。
例: 10000 個を超える PDF ファイルを含む Directory = /my_dir/backup には143079.pdf
、493857.pdf
などの 10000 個を超える任意の PDF があります。888675.pdf
「作業」は、143079.pdf
すでに存在するフォルダ、つまりそのフォルダを検索して/os_dir/pdf/EDFR_29384_euendho
置き換える必要があります。したがって、「ジョブ」はそれを見て/my_dir/backup/143079.pdf
フォルダから検索を開始し、/os_dir/pdf/
そこで検索します/os_dir/pdf/EDFR_29384_euendho/
。彼はinをfromに143079.pdf
変えなければなりません。彼はすべてのランダムPDFとすべてのランダムフォルダに対して10000回以上これを行う必要がありました。/os_dir/pdf/EDFR_29384_euendho/
143079.pdf
/my_dir/backup/
これを行う最良の方法は何ですか?
答え1
find
+bash
解決策:
find . -type f -name "*.pdf" -exec bash -c \
'p="/my_dir/backup/"; bn=${1##*/};
[[ "$1" != $p* ]] && [[ -f "${p}$bn" ]] && cp "${p}$bn" "$1"' _ {} \;
p="/my_dir/backup/"
- 初期(重要)ディレクトリパスbn=${1##*/}
- ファイルのデフォルト名