作成日に基づいてjpgをソートし、単一のPDFに変換

作成日に基づいてjpgをソートし、単一のPDFに変換

Macでは、端末を介してjpg生成された日付(例:)に基づいてstat -f %SB約2400個のファイルを並べ替え、その順序で1つのPDFに変換するにはどうすればよいですか?

今日の午後11時10分に一つが生成され、同じ分で午後11時10分に二番目のものが生成されるとjpgどうなりますか?作成日に考慮できる秒はありますか?

ベストアンサー1

ファイルシステムによって異なります。たとえば、私のホストは4番目の拡張ファイルシステム(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

おすすめ記事