当文件在bash中具有不同的前缀时,如何按文件名中的日期排序?

krazyito65

我有一个文件数组(带有路径,删除了路径,并为敏感材料略微修改了文件名),在这里我想按文件名中的日期排序(但首先将所有前缀排序在一起)

A_20160406_161734_083.txt
A_20160406_162033_756.txt
A_20160406_182413_069.txt
A_20160426_093015_846.txt
S_20160406_161741_568.txt
S_20160406_185235_774.txt
S_20160426_093019_852.txt
D__20160407_125904_986.txt
D__20160422_163704_889.txt
D__20160422_173021_513.txt
D__20160422_185627_116.txt
D__20160425_175231_627.txt
D__20160425_210242_615.txt
D__20160426_092631_837.txt
D__20160503_161921_802.txt
D__20160512_122039_138.txt
C_20160406_185205_258.txt
C_20160426_092920_788.txt

在这里,它们是按前缀排序的,我该如何按日期排序呢?

我想到的方法是保存不带前缀的名称,但是问题是使前缀重新正确显示。(我也需要看到前缀)

奖励,但不是根据需要:用“ -----”分隔不同的日期(不是小时)

卡拉法

另一个sed解决方案

sed -r 's/(_+)/\1 /' file | sort -k2 | sed 's/_ /_/'

分离第一个可能重复的_字符,排序,再加入。

sed -r 's/(_+)/\1 /'个数:(_+)取第一个(注意为g后缀)最长_(因为贪心)字符串\1 ,该字符串分配给具有第一个匹配组(即_字符串)和空格的替换组

sed 's/_ /_/'_ (仅下划线)替换第一个(下划线空格)匹配项,_表示删除该空格。

将sed输出传递给

... |  awk -F'_+' 'p!=$2{if(NR>1)print "------";p=$2}1'

A_20160406_161734_083.txt
S_20160406_161741_568.txt
A_20160406_162033_756.txt
A_20160406_182413_069.txt
C_20160406_185205_258.txt
S_20160406_185235_774.txt
------
D__20160407_125904_986.txt
------
D__20160422_163704_889.txt
D__20160422_173021_513.txt
D__20160422_185627_116.txt
------
D__20160425_175231_627.txt
D__20160425_210242_615.txt
------
D__20160426_092631_837.txt
C_20160426_092920_788.txt
A_20160426_093015_846.txt
S_20160426_093019_852.txt
------
D__20160503_161921_802.txt
------
D__20160512_122039_138.txt

整个事情也可以转换为gawk。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

如何从具有x位数字前缀的文件名中删除前缀

来自分类Dev

按文件名前缀顺序读取目录中的文件?

来自分类Dev

如何在Android中按文件名或日期对文件或文件夹进行升序或降序排序?

来自分类Dev

如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

来自分类Dev

如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

来自分类Dev

如何重命名文件夹下的所有文件名以在Windows中添加修改日期作为前缀

来自分类Dev

更改bash中具有特殊字符的文件名

来自分类Dev

从bash-scipt中具有相同文件名的不同文件夹中加载多个文件

来自分类Dev

如何匹配不同目录中的文件名?(bash或python)

来自分类Dev

在Bash中按数字文件名排序的文本文件

来自分类Dev

如何在两个目录中查找具有不同内容的文件名

来自分类Dev

文件名前缀测试始终在bash中失败

来自分类Dev

在Powershell文件名中按日期列出文件

来自分类Dev

如何更新和添加具有属性的条目到xml文件中,按日期排序?

来自分类Dev

排序数组中的文件名,按创建的最近日期/时间降序

来自分类Dev

文本处理-如何对具有不同目录中重复文件名的find的输出进行唯一排序?

来自分类Dev

如何使用Java代码从具有当前日期和时间的文件夹中获取文件名

来自分类Dev

在文件名中添加序列前缀

来自分类Dev

从文件名中删除前缀

来自分类Dev

Bash:根据文件名中的日期范围查找所有文件

来自分类Dev

如何在鹈鹕中按文件名对文章进行排序?

来自分类Dev

如何删除文件-基于文件名中的日期

来自分类Dev

如何删除文件-基于文件名中的日期

来自分类Dev

如何列出文件 - 按文件名和修改日期排序?

来自分类Dev

在APK中包含具有不同前缀的文件

来自分类Dev

C#代码从文件夹中的现有文件重命名具有今天日期的文件名

来自分类Dev

根据文件名中的日期将文件排序到文件夹中?

来自分类Dev

使用qq.FileUploader上传文件时如何在文件名中添加前缀字符串

Related 相关文章

  1. 1

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

  2. 2

    如何从具有x位数字前缀的文件名中删除前缀

  3. 3

    按文件名前缀顺序读取目录中的文件?

  4. 4

    如何在Android中按文件名或日期对文件或文件夹进行升序或降序排序?

  5. 5

    如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

  6. 6

    如何将所有文件移动(或复制)到具有相同文件名前缀的目录中?

  7. 7

    如何重命名文件夹下的所有文件名以在Windows中添加修改日期作为前缀

  8. 8

    更改bash中具有特殊字符的文件名

  9. 9

    从bash-scipt中具有相同文件名的不同文件夹中加载多个文件

  10. 10

    如何匹配不同目录中的文件名?(bash或python)

  11. 11

    在Bash中按数字文件名排序的文本文件

  12. 12

    如何在两个目录中查找具有不同内容的文件名

  13. 13

    文件名前缀测试始终在bash中失败

  14. 14

    在Powershell文件名中按日期列出文件

  15. 15

    如何更新和添加具有属性的条目到xml文件中,按日期排序?

  16. 16

    排序数组中的文件名,按创建的最近日期/时间降序

  17. 17

    文本处理-如何对具有不同目录中重复文件名的find的输出进行唯一排序?

  18. 18

    如何使用Java代码从具有当前日期和时间的文件夹中获取文件名

  19. 19

    在文件名中添加序列前缀

  20. 20

    从文件名中删除前缀

  21. 21

    Bash:根据文件名中的日期范围查找所有文件

  22. 22

    如何在鹈鹕中按文件名对文章进行排序?

  23. 23

    如何删除文件-基于文件名中的日期

  24. 24

    如何删除文件-基于文件名中的日期

  25. 25

    如何列出文件 - 按文件名和修改日期排序?

  26. 26

    在APK中包含具有不同前缀的文件

  27. 27

    C#代码从文件夹中的现有文件重命名具有今天日期的文件名

  28. 28

    根据文件名中的日期将文件排序到文件夹中?

  29. 29

    使用qq.FileUploader上传文件时如何在文件名中添加前缀字符串

热门标签

归档