Intereting Posts
Включить шифрование 3DES для openssl 1.0.1t на Debian 7 Выполнять «правильные» вызовы xrandr при подключении / отключении мониторов Установка последнего выпуска против установки старых и обновления? Когда exFAT приходит в Linux? Tmux – Получить количество панелей в текущем окне в переменной bash? Есть ли одна '03 зарегистрированная UNIX, которая не может делать rm -foo в этот момент? Добавление сжатия в .tar-файл? Может ли стек быть заменен на диск в Linux, и его можно предотвратить Создайте файл gzip с заданным размером Напечатайте что-нибудь в консоли в том же месте, что и предыдущий эхо, с неким отрицательным эхом Как правильно настроить моментальные снимки VirtualBox для запуска процессов сервера? Скрипт для переключения setxkbmap Несколько файлов – awk command filter Есть что-то вроде генератора lorem ipsum? Есть ли опция / команда для дифференциации файлов на основе состояния копии файла в каталоге?

Список каталогов с точечными каталогами, затем точечными файлами

--group-directories-first я знаю опцию ls --group-directories-first но это не совсем то, чего я хочу достичь.

Результат должен быть: (отсортировано по имени ASC)

  • Справочники
  • Скрытые каталоги
  • Скрытые файлы

С GNU ls (опция -U для указания ls не сортировать список файлов – это расширение GNU):

 ls -lUd -- *(/) .*(/) .*(^/) 

Проблема состоит в том, что если какой-либо из этих глобусов не соответствует, команда будет отменена, так что вы можете сделать:

 myls() ( setopt cshnullglob ls -lUd -- *(/) .*(/) .*(^/) ) 

Это эмулирует поведение csh при котором глобусы без соответствия расширяются до нуля, пока есть хотя бы один глобус, который расширяется до чего-то в команде.

Обратите внимание, что zsh globs никогда не расширяются . и .. , поэтому эти два никогда не будут включены.