我希望按名称顺序将目录下的文件列表传递给图像查看器。
我正在使用find $PHOTODIR -iname "*.jpg"
。不幸的是,这会导致图像混乱。
在USB闪存盘(格式为FAT32)上,我可以理解文件是按照目录条目的顺序进行处理的,因此我将其复制到Ext4驱动器中,我认为该驱动器会按名称顺序生成文件,但是仍然存在问题。我想它们是按inode顺序排列的。
ls
按顺序列出,但我需要相对路径。
谁能建议一个合适的脚本?
如果按“名称顺序”表示简单的字母排序,则可以仅sort
显示find
结果,只要文件名称中不包含换行符,该结果就可以正常工作:
find "$PHOTODIR" -iname "*.jpg" | sort
如果要将这些参数作为参数传递给图像查看器(或任何其他命令),则需要将它们传递给xargs
。只要文件名或路径中没有空格,即可立即使用。
如果您希望此文件与任何文件名或路径一起使用,请使用-print0
参数使makefind
的输出以NUL字符分隔-z
,并使用进行排序,并使用xargs -0
:
find "$PHOTODIR" -iname "*.jpg" -print0 | sort -z | xargs -0 <command>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句