Зробіть команду ls сортування за типом файлу (наприклад, каталоги та розширення файлу)


15

Як зробити lsсортування за типом файлу (наприклад, спочатку каталоги, а потім за розширенням файлу)? Відповіді, запропоновані в (Супер Користувач) Зробіть сортування за типом файлу, приводячи до невідомих помилок опції ls.


2
Незначна корекція щодо вашої назви: ls не є командою bash; це автономний виконуваний файл, розташований у /bin/ls.
bneely

Відповіді:


21

Як ви з’ясували, версія lsкоманди Дарвіна не підтримує цей -X | --sort=extensionваріант. Цей параметр унікальний для GNU версії ls.

Ви можете отримати версію GNU lsдля вашої системи. Найпростіший спосіб зробити це через менеджер пакунків Homebrew і систему перенесення. З встановленим Homebrew зробіть:

brew install coreutils

додати пакет GNU Core Utilities до вашої системи. Усі утиліти будуть встановлені з префіксом, gщоб вони не стикалися з типовими утилітами Дарвіна, з якими постачається OS X.

З інстальованими GNU Core Utilites тепер ви можете:

gls -X

І ви побачите вихід відсортований за вашим бажанням.

Якщо ви хочете використовувати основні утиліти GNU замість утиліт, що постачаються з OS X, ви можете помістити у ~/.bashrcфайл наступний рядок :

source /usr/local/Cellar/coreutils/8.14/aliases

І вам більше не потрібно буде використовувати gпрефікс команд. Я скажу, що це не зовсім безпечна річ, оскільки деякі утиліти GNU відрізняються від вбудованих башів та інструментів Дарвіна тим, як вони ведуть себе, достатньо, щоб вони могли накрутити інші речі у вашому сеансі оболонки. Тому робіть це обережно.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.