Як зробити ls
сортування за типом файлу (наприклад, спочатку каталоги, а потім за розширенням файлу)? Відповіді, запропоновані в (Супер Користувач) Зробіть сортування за типом файлу, приводячи до невідомих помилок опції ls
.
Як зробити ls
сортування за типом файлу (наприклад, спочатку каталоги, а потім за розширенням файлу)? Відповіді, запропоновані в (Супер Користувач) Зробіть сортування за типом файлу, приводячи до невідомих помилок опції ls
.
Відповіді:
Як ви з’ясували, версія 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 відрізняються від вбудованих башів та інструментів Дарвіна тим, як вони ведуть себе, достатньо, щоб вони могли накрутити інші речі у вашому сеансі оболонки. Тому робіть це обережно.
Спираючись на відповідь у пов'язаній статті Super User :
ls -l |sort -d -k 1.1,1.1r -k 9 | cut -c 50-
Якщо ви хочете побачити весь вихід ls -l
, просто залиште cut
частину.
/bin/ls
.