파일 이름과 일치하는 파일을 다른 디렉터리로 이동

파일 이름과 일치하는 파일을 다른 디렉터리로 이동

두 개의 디렉토리가 있습니다. , , dir_1이 있는 디렉토리 와 , 만 있는 디렉토리 입니다 . 이러한 파일 이름만 의 파일 이름과 일치하므로 스크립트를 및 로 이동해야 합니다 . 이러한 유형의 특정 작업을 수행해야 할 때 스크립트를 따르는 것이 어렵다는 것을 알았습니다.a.mp4b.mp4c.mp4d.mp4dir_2a.txtb.txta.mp4b.mp4dir_3dir_2

답변1

노력하다,

for f in "dir_2"/*; do
    filename=${f##*/}
    mv -t "dir_3" "dir_1/${filename%.*}".*
done
  • 파일 반복 ( 이러한 파일을 반복하는 데만 dir_2사용 )*.txt
  • ${f##*/}경로 없이 파일 이름을 제공합니다.
  • ${filename%.*}확장자 없이 파일 이름을 제공합니다.
  • mv -t "dir_3" "dir_1/${filename%.*}".*주어진 filename(확장자에서 지워진) 모든 파일을 dir_3. 원하는 경우 .mp4대신 지정할 수 있습니다 ..*

관련 정보