【问题标题】:Call a script on only the highest numbered file in a directory?仅在目录中编号最高的文件上调用脚本?
【发布时间】:2015-10-09 23:16:48
【问题描述】:

所以我需要做的是浏览大量目录,每个目录都包含大约 5000 个编号的文件,并仅在每个目录中编号最高的文件上运行 awk 脚本。这些文件的名称都为 g091、g092、g093 等等,例如 g094678。我只想在最高的那个上运行脚本,进入目录,查看整个内容,然后专门在那个文件上调用它,感觉就像是在浪费时间。有什么命令可以帮我完成吗?

【问题讨论】:

  • 请描述文件应该如何排序。例如,您将如何对g091g0923g093 进行排序?

标签: bash unix awk


【解决方案1】:

试试这个

ls -1 | sed 's/^g//' | sort -nr | head -1 | sed 's/^/g/'

因为这得到了赞成,我认为需要在这里添加@glenn jackman 的更好选择

ls | sort -k1.2nr | head -1

在排序中使用子字段引用。

【讨论】:

  • 根本不需要 sed:告诉 sort 您希望密钥从第一个字段的第二个字符开始:ls | sort -k1.2nr | head -1
猜你喜欢
  • 2022-01-01
  • 2017-08-21
  • 2019-07-21
  • 2010-12-07
  • 2019-03-09
  • 2021-02-24
  • 2021-09-27
  • 2018-10-29
  • 2014-11-15
相关资源
最近更新 更多