Сначала перечислите каталоги с MinGW ls
Недавно я начал использовать MinGW вместо Cygwin на моей машине с Windows 7, и у меня возникла небольшая проблема с MinGW ls
, В Cygwin, ls
имеет --group-directories-first
опция, которая, очевидно, заставляет каталоги быть перечисленными перед другими типами файлов. Тем не менее, MinGW, кажется, не имеет этой опции, и я не могу найти замену ей. Один существует?
1 ответ
Это происходит под заголовком "заменитель этого". Следующий скрипт будет приблизительно эмулировать поведение ls –l
с той разницей, что он группирует подкаталоги в начале каждого списка каталогов.
#! / bin / sh - sort_ls_output () { sed -n -e '1s / ^ / 1 # / p' -e '1n' \ -e 's / ^ / # /' -e 's / ^ # d / 2 # d /' -e 's / ^ # / 3 # /' -ep \ | кот -n | сортировать -n -k2 -k1 | sed 's/[^#]*#//' } если [ $# = 0 ] затем ls -l | sort_ls_output еще для аргумента делать эхо if [ -d "$arg" ] затем echo "${arg}:" ls -l "$arg" | sort_ls_output еще ls -l "$ arg" фи сделанный фи
Это грубый срез. Он не обрабатывает отдельные обычные файлы (не каталоги) в командной строке так же, как ls –l
делает, и он не обрабатывает параметры (например, –a
) совсем.