Jak zatrzymać ls przed zejściem do katalogów, podobnie jak śliwka do znalezienia?

12

Po wpisaniu ls *ro*otrzymuję również pliki z podkatalogów pasujących do *ro*wzorca.
Czy jest jakaś opcja dla ls podobnej do suszonych śliwek?

Idealnie flaga, w przeciwnym razie być może exec?

Michael Durrant
źródło

Odpowiedzi:

25

Użyj -dprzełącznika:

ls -d *ro*

.....

człowiek w pracy
źródło
Napisałem skrypt, który pobiera bity dostępu do folderu (przekonwertowane na notację 755 lub 644), modyfikuje datę i godzinę oraz nazwę folderu, a następnie wysyła informacje SMS-em. Potrzebowałem <140 znaków. To pomogło, dzięki.
user208145
4

Możesz użyć:

ls | grep ro

Aby wykonać zadanie. Potokuj wyjście, z lsktórego wypisywana jest tylko zawartość bieżącego katalogu, grepi aby selektywnie wyprowadzać pliki pasujące do wzorca wyrażenia regularnego.

darnir
źródło
-1 Skąd grep wiedziałby, że wzorzec pasuje do katalogu lub podkatalogu?
Michael Durrant
Również tak naprawdę nic nie zwraca. Spróbuj.
Michael Durrant
1
Domyślnie ls wypisuje tylko zawartość bieżącego katalogu. Zatem przekazanie tego wyniku do grep zwraca tylko te dane, które pasują do podanego wyrażenia regularnego. Wypróbowałem podane polecenie w moim systemie Arch i działa ono idealnie.
darnir
Ponieważ grep pobiera regex jako dane wejściowe, nie dodawaj gwiazdek wokół ro. Jak wspomniałem, po prostu uruchom grep ro. Jest to prymitywny hack w porównaniu do odpowiedzi manatwork, ale działa idealnie dobrze.
darnir
Jeśli masz absurdalną liczbę plików, globowanie w odpowiedzi manatwork może osiągnąć limit długości wiersza poleceń. To nie będzie.
Izkata