내 디스크는 여러 폴더에 있는 많은 이미지로 인해 매우 복잡해졌습니다. .jpg 확장자를 가진 모든 파일만 다른 디스크에 있는 단일 디렉토리로 복사하는 방법은 무엇입니까? 동일한 이름을 가진 이미지가 많이 있을 수 있지만 이를 유지하고 싶습니다. 예를 들어 끝에 다른 번호를 추가하면 됩니다.
답변1
이 명령 을 사용하지 말고 mc
다음 명령과 함께 뭔가를 수행하는 것이 좋습니다.bash
find
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
명령은 소스 트리로 재귀적으로 내려갑니다.
각 대상 파일 이름을 고유하게 만들기 위해 카운터가 추가되므로 다른 디렉터리의 동일한 파일 이름을 가진 파일이 보존됩니다.