mc를 사용하여 디스크의 모든 이미지를 단일 디렉터리로 복사하는 방법

mc를 사용하여 디스크의 모든 이미지를 단일 디렉터리로 복사하는 방법

내 디스크는 여러 폴더에 있는 많은 이미지로 인해 매우 복잡해졌습니다. .jpg 확장자를 가진 모든 파일만 다른 디스크에 있는 단일 디렉토리로 복사하는 방법은 무엇입니까? 동일한 이름을 가진 이미지가 많이 있을 수 있지만 이를 유지하고 싶습니다. 예를 들어 끝에 다른 번호를 추가하면 됩니다.

답변1

이 명령 을 사용하지 말고 mc다음 명령과 함께 뭔가를 수행하는 것이 좋습니다.bashfind

id=0; 
s=.jpg; 
while read f; do 
    cp $f targetdir/$(basename $f $s)$((id+=1))$s
done < <(find sourcedir -name '*'$s)

또는 문장으로:

id=0;s=.jpg;while read f; do cp $f targetdir/$(basename $f $s)$((id+=1))$s; done < <(find sourcedir -name '*'$s)

sourcedir소스 디렉터리 트리의 루트와 targetdir파일을 복사하려는 원하는 대상 디렉터리 로 바꾸십시오 . 이 find명령은 소스 트리로 재귀적으로 내려갑니다.

각 대상 파일 이름을 고유하게 만들기 위해 카운터가 추가되므로 다른 디렉터리의 동일한 파일 이름을 가진 파일이 보존됩니다.

관련 정보