Как я могу остановить ls от перехода в каталоги, похожие на prune for find?


12

Если я печатаю, ls *ro*я также получаю файлы в подкаталогах, которые соответствуют *ro*шаблону.
Есть ли вариант для ls похож на чернослив?

В идеале флаг, в противном случае, возможно, exec?

Ответы:


25

Используйте -dпереключатель:

ls -d *ro*

.....


Я написал скрипт, который получает биты доступа к папке (преобразованные в обозначения 755 или 644), дату и время изменения и имя папки, а затем отправляет информацию через текстовое сообщение. Мне нужно, чтобы это было <140 символов. Это помогло, спасибо.
user208145 30.06.15

4

Вы можете использовать:

ls | grep ro

Чтобы выполнить задачу. Передайте по выводу, lsкоторый выводит только содержимое текущего каталога, grepи выборочно вывести файлы, соответствующие шаблону регулярных выражений.


-1 Как бы grep узнал, было ли совпадение с шаблоном в каталоге или подкаталоге?
Майкл Даррант

Также это фактически ничего не возвращает. Попытайся.
Майкл Даррант

1
По умолчанию ls выводит только содержимое текущего каталога. Таким образом, передача этого вывода в grep возвращает только те данные, которые соответствуют заданному регулярному выражению. Я попробовал данную команду в моей системе Arch, и она отлично работает.
Дарнир

Поскольку grep принимает регулярное выражение в качестве входных данных, не добавляйте звездочки вокруг ro. Как я уже говорил, просто выполните grep ro. Это грубый взлом по сравнению с ответом Манатворка, но прекрасно работает.
Дарнир

Однако, если у вас есть абсурдное количество файлов, глобализация в ответе manatwork может достигнуть предела длины командной строки. Это не будет
Изката
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.