%EC%9D%98%20%EB%AA%A8%EB%93%A0%20PDF%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%8B%A8%EC%9D%BC%20%EC%B6%9C%EB%A0%A5%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%20%EB%B0%98%EB%B3%B5%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
많은 수의 PDF 파일이 포함된 디렉토리가 있는데 그 중 일부는 하위 디렉토리에 있습니다(여러 레이어 깊이로 확장 가능). 일치하는 모든 파일을 *.pdf
이름이 지정된 단일 출력 폴더로 이동하고 싶습니다 papers
.
어떻게 해야 하나요?
답변1
bash
최신 버전을 사용하는 경우 globstar
다음 옵션을 통해 이익을 얻을 수 있습니다.
shopt -s globstar
mv **/*.pdf papers/
답변2
find /bunchopdfs -name "*.pdf" -exec mv {} /papers \;
제가 한 테스트는 다음과 같습니다
$ ls -R
.:
a aaa bbb.pdf pdfs
./a:
foo.pdf
./pdfs:
"aaa bbb.pdf" 파일을 확인하세요.
$ find . -name "*pdf" -exec mv {} pdfs \;
$ ls -R
.:
a pdfs
./a:
./pdfs:
aaa bbb.pdf foo.pdf
답변3
find -print0 /directory/with/pdfs -iname "*.pdf" | xargs -0 mv -t /papers
(다른 답변과 유사하지만 나는 파이프/xargs/mv를 선호합니다 ... 더 직관적입니다)
참고로 저는 여러 디렉터리와 여러 PDF 파일에서 위의 한 줄 스크립트를 성공적으로 수행했습니다.
답변4
하나의 디렉토리 깊이만 검색하는 경우 다음을 수행할 수 있습니다.
mkdir <destination>
mv */*.pdf <destination>
여기서는 <destination>
일부 디렉토리를 나타냅니다. mv
자동으로 디렉토리를 생성하지 않습니다.