如何按特定字段排序'在文件名中

时间:2015-11-04 11:03:29

标签: bash sorting ls

我的文件位于文件夹中,文件名的格式为:

2352_GF_somerandomstring.txt,即someNumber_twoletters_somestring。

使用ls上的标记,我可以达到的最佳效果是按sort的不同标准进行排序。

我想要的是让列表按照' twoletters'排序。即忽略前缀号并按' GF' -port(在示例中)进行排序,但仍然显示完整的文件名(即包括前缀号)。

我最接近的是(没有写完整的脚本): ls | cut -d '_' -f2- |sort

但切割部分会删除前面的所有内容,我仍然需要查看。

有关如何以简单方式执行此操作的任何想法? (希望是一个oneliner)。

1 个答案:

答案 0 :(得分:2)

像这样: ls | sort -t '_' -k 2

-t是分隔符,-k是列