是否可以在 titlepage_19.pdf 之前查看按 titlepage_1.pdf 排序的此输出?
$ ls
allTitlepage.pdf titlepage_12.pdf titlepage_19.tex titlepage_26.pdf titlepage_32.tex titlepage_4.tex
allTitlepage.tex titlepage_12.tex titlepage_1.pdf titlepage_26.tex titlepage_33.pdf titlepage_5.pdf
assignment.pdf titlepage_13.pdf titlepage_1.tex titlepage_27.pdf titlepage_34.pdf titlepage_5.tex
assignment.tex titlepage_13.tex titlepage_20.pdf titlepage_27.tex titlepage_34.tex titlepage_6.pdf
graphicsAssignment2.pdf titlepage_14.pdf titlepage_20.tex titlepage_28.pdf titlepage_35.pdf titlepage_6.tex
graphicsAssignment2.tex titlepage_14.tex titlepage_21.pdf titlepage_28.tex titlepage_35.tex titlepage_7.pdf
README.md titlepage_15.pdf titlepage_21.tex titlepage_29.pdf titlepage_36.pdf titlepage_7.tex
thesisTitlepage.pdf titlepage_15.tex titlepage_22.pdf titlepage_29.tex titlepage_36.tex titlepage_8.pdf
thesisTitlepage.tex titlepage_16.pdf titlepage_22.tex titlepage_2.pdf titlepage_37.pdf titlepage_8.tex
titlepage_0.pdf titlepage_16.tex titlepage_23.pdf titlepage_2.tex titlepage_37.tex titlepage_9.pdf
titlepage_0.tex titlepage_17.pdf titlepage_23.tex titlepage_30.pdf titlepage_38.pdf titlepage_9.tex
titlepage_10.pdf titlepage_17.tex titlepage_24.pdf titlepage_30.tex titlepage_38.tex titlepage_one.pdf
titlepage_10.tex titlepage_18.pdf titlepage_24.tex titlepage_31.pdf titlepage_3.pdf titlepage_one.tex
titlepage_11.pdf titlepage_18.tex titlepage_25.pdf titlepage_31.tex titlepage_3.tex titlepage_two.tex
titlepage_11.tex titlepage_19.pdf titlepage_25.tex titlepage_32.pdf titlepage_4.pdf
Run Code Online (Sandbox Code Playgroud)
tu-*_*duh 13
输出已排序。根据手册ls
页:
如果未指定 -cftuvSUX 或 --sort,则按字母顺序对条目进行排序。
但如果你想更进一步,你至少有两个选择:
选项 1 -ls
排序开关
man ls
告诉你一些你可以用来排序的开关,特别是ls 手册页说:
无 (-U)、大小 (-S)、时间 (-t)、版本 (-v)、扩展名 (-X)
在您的情况下,您需要“版本”排序(-v)。 但是要小心,因为这也会对任何blahblah-X.Y.Z-A
可能不完全是您想要的安排的东西进行排序。另请参阅GNU 对版本排序的解释。
选项 2 - 排序命令的管道
您可以使用管道|
将输出发送到另一个命令,例如,您可以使用该命令 sort
以多种其他方式进行排序,ls -1 | sort -n
如果您有编号的文件,这很有用。该-1
开关确保输出为每文件一行。
同样,您可以使用sed
或 之类的东西来操作输出以帮助进行排序awk
。
有很多方法可以回答这类*问题。您可能会发现 linux shell 教程很有帮助。
*(看看我在那里做了什么?:-p)
正如评论所指出的,输出是已经排序,但字符,而不是数字。你可能希望通过管道输出ls
,通过sort
具有由数字的字符串内的开关进行排序:
ls | sort --version-sort
Run Code Online (Sandbox Code Playgroud)
从联机帮助页:
Run Code Online (Sandbox Code Playgroud)-V, --version-sort natural sort of (version) numbers within text
缺点:当我们发出时,ls
它会输出一个表格中的文件,该表格的列数与当前屏幕上的列数相同(就像您在帖子中显示的那样)。但是当ls
注意到它的输出被重定向到一个文件或一个管道(如ls | sort
)时,然后ls
将文件打印在一列中,因为它假设输出将被逐行处理(又名逐文件)通过其他一些程序(如sort
)。所以输出ls | sort -V
将在一列中,而不是在多列的表中。请参阅@vijay的简单但完美的答案,了解如何避免这种情况。
归档时间: |
|
查看次数: |
3998 次 |
最近记录: |