Действительно ли возможно просмотреть этот вывод, отсортированный с titlepage_1.pdf перед titlepage_19.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
Используйте переключатель-v [естественный вид (версии) числа в рамках текста]
ls -v
Вывод отсортирован. Согласно ls
страница справочника:
Записи вида в алфавитном порядке, если ни один из-cftuvSUX, ни - вид не указан.
Но если Вы хотите пойти далее, у Вас есть по крайней мере две опции:
Опция 1 - ls
переключатели вида
man ls
говорит Вам о многих переключателях, что можно использовать для вида, а именно, в ls странице справочника говорится:
ни один (-U), размер (-S), время (-t), версия (-v), расширение (-X)
В Вашем случае Вы хотите вид "версии" (-v). Будьте осторожны, тем не менее, так как это также отсортирует что-либо, что имеет a blahblah-X.Y.Z-A
расположение, которое не может быть полностью, что Вы хотите. См. также объяснение GNU вида версии.
Опция 2 - Каналы к сортировке команд
Вы могли использовать канал |
отправить вывод в другую команду, например, команду sort
в котором Вы могли использовать для вида многими другими способами, как ls -1 | sort -n
который полезен, если Вы пронумеровали файлы. -1
переключатель гарантирует, что вывод является one-line-per-file.
Аналогичным образом, можно управлять выводом для помощи с сортировкой при помощи вещей как sed
или awk
.
Существует много способов ответить на этот вид* вопрос. Можно найти, что Linux окружает полезное учебное руководство.
* (См. то, что я сделал там? :-p)
Как уже говорилось в комментарии, вывод уже отсортирован, но символами, не числами. Можно хотеть передать вывод по каналу ls
через sort
который имеет переключатель к виду числами в строках:
ls | sort --version-sort
-V, --version-sort natural sort of (version) numbers within text
Оборотная сторона: Когда мы выходим ls
затем это производит файлы в таблице со столькими же столбцов сколько соответствие на текущем экране (точно так же, как Вы показали в своем сообщении). Но когда ls
уведомления, что его вывод перенаправляется в файл или в канал (как в ls | sort
) затем ls
печатает файлы во всего одном столбце, потому что он затем предполагает, что вывод должен быть обработан линию за линией (иначе файл файлом) некоторой другой программой (как sort
). Так вывод ls | sort -V
будет в одном столбце вместо в таблице с несколькими столбцами. См. простой, но идеальный ответ @vijay для того, как избежать этого.
ls -l
: перечисляет файлы каталога по вертикали, но не в определенном порядке.
ls -l | sort -k 3
: -k 3
сортирует вывод предыдущей команды по 3-му столбцу.