모든 사람,
내 질문에 대한 답변을 찾을 수 없으므로 다음과 같습니다.
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
교체해야 합니다. 따라서 "Job"은 이를 보고 /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##*/}
- 파일의 기본 이름