Intereting Posts
Разделение диска 2tb Системные задержки / зависания, dmesg показывает ошибки графического процессора и неудобства USB-разъединения – что делать? Как отформатировать 1GB USB-накопитель на FAT32 с 512-байтным сектором? Pxeboot: клиент не получает IP-адрес от DHCP-сервера NTPDate запускается три раза при загрузке, что приводит к неправильной дате Как запустить скрипт с привилегиями, ожидаемыми от общего «предполагаемого пользователя» сценария? Как иметь консольные сообщения на английском языке? Является ли autofs единственным открытым исходным кодом для установки nfs и / или cifs Есть ли флаг `–paranoid` для общих, потенциально необратимых команд? SED Использование правильно изменить линию Автоматическая перезагрузка, если соединение Wi-Fi в течение определенного времени Как просматривать видео в adobeconnect в автономном режиме? Rsync через SSH с авторизованными ключами .. но запустить 2 команды rsync Как я могу переключаться между различными аппаратными средствами вывода звука с помощью оболочки? Как работают файлы $ HOME / .ssh и $ HOME / .ssh / authorized_keys, когда несколько пользователей имеют одинаковый UID?

Сортировка вывода ls, где файлы заканчиваются цифрами

Вот вывод моей нормальной команды ls :

 f1 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f2 f20 f3 f4 f5 f6 f7 f8 f9 

Итак, у меня есть 20 файлов. Мне нужно, чтобы они отображались как:

 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 

Есть ли какая-либо однострочная команда для этого, кроме написания сценария? Я уверен, что некоторые из вас, должно быть, столкнулись с этой странной ситуацией. Примечание: приведенное выше является просто образцом. В реальном сценарии мне нужен список всех имен файлов в правильном порядке сортировки. (от f{0..10000} )

к счастью! есть однострочная команда

ls -lav

должен делать то, что вы ищете

С GNU ls вы можете использовать:

 ls -v 

С инструментами POSIX:

 ls | sort -nk1.2 | paste -sd ' ' - 

Если вы уверены, что все файлы в диапазоне существуют, с оболочками есть расширение скобки :

 echo f{1..20} 

С zsh :

 print -r -- f*(n)