在Debian上,什么命令将从目录中返回具有“最小”文件名的文件?

我有一个包含三个文件的目录,例如5.war6.war7.war

什么命令会从这个目录中返回带有“最小”文件名的文件? (在这种情况下, 5.war 。)

ls默认按名称sorting。 如果没有任何目录需要处理,那么就这样做:

 ls | head -1 

要添加一些完成,如果您不必担心目录,请执行以下操作:

 ls -p | egrep -v /$ | head -1 

不幸的是, ls按字母顺序排列文件名,这是不正确的数字。 例如, 10.war 2.war 之前 ,这不是你想要的。

大概你可以find一些更智能的谷歌sorting工具,但在没有,我会build议:

  1. 如果你的文件是按字母顺序排列的,@Hyppy的解决scheme对你来说是完美的。
  2. 如果他们是数字,而不是head -1 ,我build议一个数字sorting: ls|sort -n|head -1
  3. 如果有两个,你必须find一些替代品(在你的地方,我search更聪明的分类工具)。