目录中文件的列表(按名称顺序)

毫威

我希望按名称顺序将目录下的文件列表传递给图像查看器。

我正在使用find $PHOTODIR -iname "*.jpg"不幸的是,这会导致图像混乱。

在USB闪存盘(格式为FAT32)上,我可以理解文件是按照目录条目的顺序进行处理的,因此我将其复制到Ext4驱动器中,我认为该驱动器会按名称顺序生成文件,但是仍然存在问题。我想它们是按inode顺序排列的。

ls 按顺序列出,但我需要相对路径。

谁能建议一个合适的脚本?

slhck

如果按“名称顺序”表示简单的字母排序,则可以仅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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章