2014-05-08 3 views
1

이미지의 여러 하위 디렉토리의 크기를 변경하고 이름을 바꾸려고합니다. 내가 필요로하는 파일은 변경 될 수 있습니다 :일괄 크기 조정 및 하위 디렉토리의 이미지 파일 이름 바꾸기

  • 끝 A.jpg와

[email protected]로 명칭 변경 400x400 크기

  • 아래로 크기를 조정할 수해야합니다 이미지 /**/[email protected]

    하나의 디렉토리에 크기 조정 비트가 있습니다. 확장자가 아닌 파일의 끝 부분 만 이름을 바꾸고 하위 디렉토리를 통해 파일 이름을 바꾸는 방법을 찾는 데 어려움이 있습니다.

    도움을 주시면 감사하겠습니다.

    #!/bin/bash 
    
    for i in $(ls *A.jpg); do convert -resize 400x400 $i 
    
  • 답변

    2

    이 작업을 수행 할 수 있습니다

    #!/bin/bash 
    find . -name "*A.jpg" | while read f 
    do 
        newname=${f/A.jpg/[email protected]} 
        echo convert "$f" -resize 400x400 "$newname" 
    done 
    

    는 올바른 보이는 경우 단어 echo를 제거하고 백업 한 파일에서만 실행됩니다.

    당신이 정말로 원한다면 당신은 또한, 한 줄에 작업을 수행 할 수 있습니다

    find . -name "*A.jpg" -exec bash -c 'old="$0";new=${old/A.jpg/[email protected]};echo convert "$old" -resize 400x400 "$new"' {} \;