Когда я делаю ls -l | grep ^d
это перечисляет только каталоги в текущем каталоге.
То , что я хотел бы знать, что делает каретку ^
в ^d
среднем?
command-line
grep
special-characters
скольжение
источник
источник
ls */
вместо этого, который будет работать с длинным листингом (ls -l
) или без него и без необходимостиgrep
(и, следовательно, очень немного быстрее) и с меньшей вероятностью (чемls -l *
) столкнуться с слишком долгой проблемой списка аргументов (поскольку он помещает в команду только каталоги) линия). Конечно,find . -maxdepth 1 -type d
это даже лучше, так как это совсем не загромождает вашу командную строку.Ответы:
Ответ Энди правильный, как видно из справочной страницы:
Причина, по которой он работает, -
-l
флаг,ls
заставляющий его использовать формат длинного списка. Первое, что показано в каждой строке, - это доступные пользователю права доступа к файлу, а первый символ -d
для каталога или-
для файла.источник
Это карета, а не морковка. Это означает «начало линии». Grep соответствует только строкам, которые начинаются с "d".
источник