如何按文件名对文件路径列表进行排序?

斯纳布先生

我在名为files.txt的文本文件中具有以下文件列表:

./themes/seven/images/list-item-rtl.png
./themes/seven/images/arrow-desc.png
./themes/seven/images/arrow-prev.png
./themes/seven/images/fc-rtl.png
./themes/seven/ie7.css
./xmlrpc.php
./MAINTAINERS.txt
./update.php
./README.txt
./COPYRIGHT.txt
./web.config

我只想按文件名对它们进行排序(按最后一次出现的正斜杠后的第一个字符排序)。因此,上面的输出将如下所示:

./COPYRIGHT.txt
./MAINTAINERS.txt
./README.txt
./themes/seven/images/arrow-desc.png
./themes/seven/images/arrow-prev.png
./themes/seven/images/fc-rtl.png
./themes/seven/ie7.css
./themes/seven/images/list-item-rtl.png
./update.php
./web.config
./xmlrpc.php

我该怎么做呢?

库萨兰达
$ awk -F '/' '{ printf "%s/%s\n", $NF, $0 }' files.txt | sort | cut -d '/' -f 2-
./COPYRIGHT.txt
./MAINTAINERS.txt
./README.txt
./themes/seven/images/arrow-desc.png
./themes/seven/images/arrow-prev.png
./themes/seven/images/fc-rtl.png
./themes/seven/ie7.css
./themes/seven/images/list-item-rtl.png
./update.php
./web.config
./xmlrpc.php

这会将文件名的副本复制到该行的开头,后跟一个/字符。通过使用最后一个定/界字段来获得文件名最后一个字段$NF在中awk

awk命令的输出已排序。这种排序将使用/添加到该行开头的-定界字段。cut然后用于删除添加的-/分隔字段。

只要没有路径名包含文字换行符,此方法就可以使用。

如果任何路径名都以/字符(可能是目录的路径名)结尾,也可能会出现问题这些将在排序列中产生一个空字符串。

另请参阅:施瓦兹变换

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Go编程语言对文件名进行排序?

按数字顺序对文件进行排序,同时排除具有非数字文件名的文件

Powershell,按文件名末尾的版本号对文件列表进行排序?

按ModifyTime对文件列表进行排序(Google Drive API)

如何使用python按特定顺序对文件名进行排序

C#如何使用linq按索引对文件列表进行排序

如何在ruby中对文件名进行排序?

需要帮助根据文件名中的日期戳对文件列表进行排序

如何以文件名中包含的整数的升序对文件进行排序

根据python中的文件名对文件进行排序

C ++在目录中对文件名进行排序

Bash:根据文件名对文件进行排序

如何按名称的某些子字符串对文件名列表进行排序?

如何按数字顺序和修改的时间顺序对文件名进行排序?

仅给定文件名,如何按时间对文件列表进行排序

按数字值对文件名进行排序

如何对文件名中的空格进行排序并连接文件?

命令行按文件名或目录名对文件或目录进行排序

如何按文件名中的日期对文件排序?

如何在Windows命令提示符下对文件名列表进行排序?

根据文件名与文件夹Python匹配对文件进行排序

按分隔符对文件名进行主要和次要数字排序

按数字字段(子字符串)对文件名进行排序

Bash 按包含年份和缩写月份的文件名对文件进行排序

如何按数字而不是字母顺序对文件名集合进行排序?

如何按主题编号(文件名的前缀)对文件进行排序并从中创建一个新文件夹?

按文件名排序列表

如何根据Java中多个路径的文件名对文件进行分组

颤振 | 如何按创建时间对文件列表进行排序