【问题标题】:How to sort by specific 'field' in filename [duplicate]如何按文件名中的特定“字段”排序[重复]
【发布时间】:2015-11-04 11:03:29
【问题描述】:

我在文件名格式如下的文件夹中有文件:

2352_GF_somerandomstring.txt,即 someNumber_twoletters_somestring。

ls 上使用标志我能做到的最好的方法是按照不同的标准对sort 进行类似的排序。

我想要的是将列表按“双字母”排序。 IE。忽略前缀编号并按“GF”部分排序(在示例中),但仍向我显示完整的文件名(即包括前缀编号)。

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

但是切割的部分去掉了前面的所有东西,我仍然需要看到。

关于如何以简单的方式做到这一点的任何想法? (希望是oneliner)。

【问题讨论】:

    标签: bash sorting ls


    【解决方案1】:

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

    -t 是分隔符,-k 是列

    【讨论】:

    • 完美。正是我想要的。谢谢
    猜你喜欢
    • 2012-06-20
    • 2020-01-16
    • 2021-03-17
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 2023-04-10
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多