유닉스에서 파일을 일괄 복사/이동합니까?

유닉스에서 파일을 일괄 복사/이동합니까?

유닉스에서 파일을 일괄 복사/이동하는 방법이 있습니까? 이것이 옵션일 수 있다고 생각 cp/mv하지만 그렇게 할 수 있는 방법을 찾을 수 없습니다.

답변1

cpmv파일을 복사하고 파일을 이동하는 데 각각 훌륭한 도구입니다 . ) 또는 와 같은 쉘 구조와 for file in *; do ...; done결합하면 find훨씬 더 강력해집니다.

귀하의 목적을 올바르게 이해했다면 다음과 같은 파일을 추출한 것입니다.

somedir/file.png
somedir/file.txt

다음과 같이 모든 파일을 상위 디렉토리로 이동하려고 합니다.

file.png
file.txt

디렉토리에 있다고 가정하고 쉘 와일드카드를 사용하면 다음을 somedir사용할 수 있습니다.

mv * ../

*현재 디렉터리의 모든 파일로 확장되는 전역 패턴입니다. 숨겨진 파일( .파일 이름 앞에 이름이 있는 파일 및 디렉터리)이 있는 경우 shopt -s dotglobin bash)을 사용하세요.

나는 find이것을 전에 언급한 적이 있다. 다음과 같은 파일 트리가 있는 경우:

somedir/000.txt
somedir/a/001.txt
somedir/a/004.txt
somedir/b/003.txt
somedir/b/002.txt
somedir/whatever/somethingunique.txt

디렉토리(예: )의 모든 파일을 이동하려면 다음 seconddir을 사용하세요.

find -exec mv {} seconddir/ \;

이는 모든 파일 이름이 고유하다고 가정합니다. 그렇지 않으면 파일을 덮어쓰게 됩니다.

답변2

넌 괜찮게 빠져나갈 수도 있어이름을 바꿔라일괄 처리에 더 적합하기 때문입니다.

관련 정보