Linux命令:按名称排序的ls -ltr

5
我在这个网站上看到了很多与ls排序相关的问题,但我需要按文件名排序的输出ls -ltr,因为我需要比较文件大小和日期。我尝试过| sort -k| sortls-1ltr都没有成功。
这是未排序的列表:
ser@xeroxsqa02:/app/java/jars> ls -ltr
total 41940
-rwxr-xr-x 1 xeroxadmin mqm  331471 May 10  2017 spring-aop-3.1.1.RELEASE.jar
-rwxr-xr-x 1 xeroxadmin mqm  153115 May 10  2017 jdom-1.1.jar
-rwxr-xr-x 1 xeroxadmin mqm  185140 May 10  2017 commons-io-2.4.jar
-rwxr-xr-x 1 xeroxadmin mqm  279193 May 10  2017 commons-lang-2.5.jar
-rwxr-xr-x 1 xeroxadmin mqm  489884 May 10  2017 log4j-1.2.17.jar
-rwxr-xr-x 1 xeroxadmin mqm   53081 May 10  2017 spring-asm-3.1.1.RELEASE.jar
-rwxr-xr-x 1 xeroxadmin mqm 2095932 May 10  2017 ojdbc5-11.2.0.3.0.jar
-rwxr-xr-x 1 xeroxadmin mqm    4467 May 10  2017 aopalliance-1.0.jar
-rwxr-xr-x 1 xeroxadmin mqm   38460 May 10  2017 joda-convert-1.2.jar
-rwxr-xr-x 1 xeroxadmin mqm 1891110 May 10  2017 guava-13.0.1.jar
-rwxr-xr-x 1 xeroxadmin mqm  589824 May 10  2017 spring-beans-3.1.1.RELEASE.jar
-rwxr-xr-x 1 xeroxadmin mqm  449324 May 10  2017 spring-core-3.1.1.RELEASE.jar
-rwxr-xr-x 1 xeroxadmin mqm  232019 May 10  2017 commons-beanutils-1.8.3.jar
-rwxr-xr-x 1 xeroxadmin mqm  831068 May 10  2017 spring-context-3.1.1.RELEASE.jar
-rwxr-xr-x 1 xeroxadmin mqm  569231 May 10  2017 joda-time-2.0.jar
-rwxr-xr-x 1 xeroxadmin mqm   52915 May 10  2017 commons-logging-1.1.jar
-rwxr-xr-x 1 xeroxadmin mqm  107225 May 10  2017 spring-context-support-3.1.1.RELEASE.jar
-rwxr-xr-x 1 xeroxadmin mqm  176311 May 10  2017 spring-expression-3.1.1.RELEASE.jar
drwxr-xr-x 2 xeroxadmin mqm      46 Jun 30  2017 bkp
-rwxr-xr-x 1 xeroxadmin mqm 1599570 Jan 17 19:12 axis-1.4.jar
-rwxr-xr-x 1 xeroxadmin mqm   79796 Jan 17 19:12 commons-discovery-0.5.jar
-rwxr-xr-x 1 xeroxadmin mqm  148429 Jan 17 19:12 wsdl4j-1.6.2.jar

这听起来很不合理。-t按修改时间排序,而-r则反转排序顺序,但由于您不关心修改时间,因此没有必要使用这些选项中的任何一个来调用ls命令。 - William Pursell
抱歉,你是正确的,我的意思是我需要与命令“ls -ltr”相同的输出,而不仅仅是平面的“ls”。 - JavaSheriff
3个回答

4

你尝试过以下方法吗:

ls -lru

根据man手册:

-u 在使用 -lt 选项时:按照访问时间排序并显示;在使用 -l 选项时:显示访问时间并按名称排序;其他情况下:按照访问时间排序,最新的排在前面。


太棒了,不确定我是怎么错过了那个!非常感谢! - JavaSheriff

1

将环境变量$LC_COLLATE设置为适当的值,例如:

    LC_COLLATE=en_US ls -l1va 

在shell脚本中,设置为启动时执行。
    export LC_COLLATE=en_US

0

ls -ltr -a 也很有帮助。它包括以 . 开头的隐藏文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接