이미지가 포함 된 몇백 개의 폴더가있는 폴더가 있습니다. thous 폴더 각각에는 임의의 이름을 가진 4 개의 이미지가 있고, 모든 하위 폴더를 반복하며 4 개의 이미지 이름을 읽습니다. 각 하위 폴더의 것은 그들에이 명령을 실행bash를 사용하여 하위 디렉토리를 읽는 중
convert \($subdir/$file1.jpg $subdir/$file2.jpg -append \) \($subdir/$file3.jpg $subdir/$file4.jpg -append \) +append $subdir.jpg
이 작동하는 방법이다 :
foreach(subdirectory in directory){
$img_arr[] = new Array();
foreach(file in subdirectory){
$img_arr[] = file;
}
exec("convert \($subdirectory /$img_arr[0].jpg $subdirectory /$img_arr[1].jpg -append \) \($subdirectory/$img_arr[2].jpg $subdirectory/$img_arr[3].jpg -append \) +append $subdirectory.jpg");
}
이것은 내가 지금까지 무엇을 가지고 있습니다 :
#!/bin/bash
img=0;
IFS=$'\n'
for NAME in $(find -type f)
do
echo "Found a file: \"$NAME\""
done
저는 imagemagick을 사용하여 4 개의 이미지를 하나로 결합하려고합니다. 감사!
감사합니다! 그래서 이것은 다른 폴더의 이미지를 섞지 않을 것입니다, 맞습니까? – Kristian
좋아, 이것은 단지 같은 디렉토리에있는 이미지를 결합합니다. –
그것은 디렉토리 당'convert'를 한 번 실행하고,'convert'에 전달 된 모든 인수는 그 디렉토리에 있습니다. 그래서 다른 폴더의 이미지를 섞지 않을 것입니다. 그러나 위의 스크립트는 파일 이름에 공백이 있으면 작동하지 않습니다. –