Mac에서는 터미널을 통해 jpg
생성 날짜(예: )를 기준으로 stat -f %SB
약 2400개의 파일을 정렬 하고 해당 순서대로 하나의 PDF로 변환하려면 어떻게 해야 합니까?
오늘 오후 11시 10분에 하나가 생성 되고 , 같은 분 안에 오후 11시 10분에 두 번째 하나가 생성된다면 jpg
어떻게 될까요 ? 생성 날짜에 고려할 수 있는 초가 있습니까?
답변1
파일 시스템에 따라 다릅니다. 예를 들어 내 호스트에서는 네 번째 확장 파일 시스템(ext4)을 사용하므로 stat
파일을 보고합니다.
$ touch foo; stat foo; rm foo
File: 'foo'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc00h/64512d Inode: 262155 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ownerusername) Gid: ( 1000/ ownerusername)
Access: 2017-06-21 14:28:16.150323827 -0700
Modify: 2017-06-21 14:28:16.150323827 -0700
Change: 2017-06-21 14:28:16.150323827 -0700
Birth: -
따라서 마지막 수정 시간을 다음과 같이 사용할 수 있습니다.시간을 만든다는 것은 다소 잘못된 이름입니다..
find /path/to/images -type f -print0 -name \*.jpg | xargs -0 stat -c "%y|%n" | sort | awk -F'|' '{print $2}'
이 다소 번거로운 구조는 마지막 수정 시간을 기준으로 정렬된 파일 목록을 제공합니다( |
해당 이름에 파일이 없는 경우).
이 목록을 검토한 후에는 Imagemagick의 convert
도구를 사용하여 PDF를 결합할 수 있습니다.
convert <<list of files>> outputfile.pdf
또는 한 번에 모든 작업을 수행하세요.
convert $(find /path/to/images -type f -print0 -name \*.jpg | xargs -0 stat -c "%y|%n" | sort | awk -F'|' '{print $2}') outputfile.pdf
답변2
ImageMagick의 간단한 명령줄이 convert
저에게 효과적입니다.
다음 명령줄(14개의 png 파일이 있는 디렉터리)로 테스트했는데 pdf 파일에는 페이지당 하나의 그림이 있습니다.
convert *.png out-parrot.pdf
하지만 일부 버전에는 문제가 있을 수 있습니다.convert
convert
Parrot 4.4 버전에서는 예상대로 작동합니다.
$convert --version
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org
convert
하지만 Ubuntu 18.04.1 LTS 버전에서는 작동하지 않습니다.(2019년 2월 기준)
$ convert --version
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
이 버전은 PDF 파일에 쓸 수 있는 "인증되지 않음"입니다.
$ convert *.png out-ubuntu.pdf
convert-im6.q16: not authorized `out-ubuntu.pdf' @ error/constitute.c/WriteImage/1037.
$ apt-cache policy imagemagick
imagemagick:
Installed: 8:6.9.7.4+dfsg-16ubuntu6.4
Candidate: 8:6.9.7.4+dfsg-16ubuntu6.4
Version table:
*** 8:6.9.7.4+dfsg-16ubuntu6.4 500
500 http://se.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
100 /var/lib/dpkg/status
8:6.9.7.4+dfsg-16ubuntu6 500
500 http://se.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Ubuntu 메일링 리스트를 통해 다음과 같은 답변을 받았습니다. (ImageMagick 취약점 문제로 인해 PDF로의 변환이 꺼졌습니다.)
이것은 특히 Ubuntu 18.04 LTS의 ImageMagick 변환 버그입니까, 아니면 의도적으로 pdf로의 변환이 꺼진 것입니까?
이러한 변경은 의도적인 것입니다. 바라보다https://usn.ubuntu.com/3785-1/
고마워요, 제레미 비차
답변3
ImageMagick을 설치합니다. JPG 이미지가 있고 ~/images
파일 이름에 공백(또는 \[*?
)이 포함되어 있지 않으며 디렉토리가 있다고 가정합니다 ~/combined
.
convert -combine -append $(ls -tr ~/images/*.jpg) ~/combined/all.jpg
또는
convert -combine -append $(ls -tr ~/images/*.jpg) ~/combined/all.pdf
이미지의 크기가 다른 경우 경고가 표시됩니다. -append
이미지를 위에서 아래로 결합합니다. 로 변경 +append
하면 이미지가 왼쪽에서 오른쪽으로 병합됩니다.
시간: ls -l
표시된 시간은 시간:분 단위로 정확하지만 Linux는 액세스, 수정 및 수명/변경 시간을 나노초까지 추적한다고 생각합니다. 따라서 정렬에는 ls -tr
몇 분의 1초가 걸립니다.