Kiedy przeglądam stronę podręcznika man polecenia find
dla pasuje do type
zwraca wiele wyników wyszukiwania, których nie chcę. Zamiast tego chcę użyć polecenia, które zwraca tylko wyniki wyszukiwania dla -type
.
Polecenie man find | grep -type
nie działa. Zwraca:
grep: invalid option -- "t"
Komentarze
Odpowiedź
Jeśli chcesz wyszukiwać wzorzec zaczynający się od łącznika, użyj --
przed określonym wzorcem.
man find | grep -- -type
Jeśli chcesz uzyskać więcej informacji, na przykład całą sekcję opisującą opcję , mógłbyś spróbować użyć Sed:
$ man find | sed -n "/-mindepth/,/^$/p" -mindepth levels Do not apply any tests or actions at levels less than levels (a non-negative integer). -mindepth 1 means process all files except the command line arguments.
Jednak to nie zadziała dla każdej opcji, którą możesz wyszukać. Na przykład :
$ man find | sed -n "/^[[:space:]]*-type/,/^$/p" -type c File is of type c:
Niezbyt pomocne. Co gorsza, w przypadku niektórych opcji możesz zostać wprowadzony w błąd, myśląc, że „czytaj cały tekst o opcji, chociaż naprawdę tego nie zrobiłeś” t. Na przykład wyszukiwanie -delete
pomija bardzo ważne OSTRZEŻENIE zawarte jako drugi akapit pod tym nagłówkiem.
Mój zaleceniem jest użycie standardowego wywołania man
z ustawioną zmienną środowiskową LESS
. Używam go dość często w moich odpowiedziach na tej stronie.
LESS="+/^[[:space:]]*-type" man find
Aby dowiedzieć się więcej, jak to działa, zobacz:
LESS="+/^[[:space:]]*LESS " man less LESS="+/\+cmd" man less LESS="+/\/" man less
Jeśli chcesz po prostu szybko i interaktywnie znaleźć opcję na stronie podręcznika, naucz się korzystać z funkcji wyszukiwania less
„. Oraz zobacz także:
Komentarze
- Dziękuję za wysłanie. Polecenia w Twojej odpowiedzi zwróciły wyniki, których szukałem. Zaakceptuję odpowiedź za dzień lub dwa, więc proszę o cierpliwość.
- @karel, nie ma problemu, ' jestem bardzo cierpliwy. 🙂 Trochę zdziwiony: wiem, że możesz nie rozpocznij nagrody za pytanie przez dwa dni, ale uważam, że limit czasu, po którym możesz zaakceptować odpowiedź, wynosi około 15 minut.
-
man find | sed -n '/-type/,/^$/p'
daje dużo więcej niż to, co opublikowałeś dopasuje-type
w dowolnym miejscu w wierszu … sam pracuję nad małym skryptem, aby wyszukać podręcznik lub pomoc (dla wbudowanych) i obecnie używamawk
który wciąż ma kilka dziwactw do rozwiązania.awk -v RS= -v rx="^\\\s*$arg\\\>" '$0 ~ rx' "$file"
gdziearg
byłoby-type
w ten przypadek - BTW, @Sundeep, możesz spróbować przeanalizować podstawowe pliki
troff
zawierające informacje o oryginalnej stronie podręcznika wraz z informacją o formacie zamiast tekstu wyjściowego poleceniaman
. - @Sundeep, tutaj ' jest dla Ciebie punktem wyjścia . (Koniecznie skorzystaj z linku w tej odpowiedzi). ' jest DUŻO informacji o
troff
. Pinguj do mnie na czacie, kiedy skończysz nurkować w króliczej norze. 🙂
Odpowiedz
Lub potokiem do less
i podaj że wyszukiwane hasło:
man 1 find | less -p " -type"
(Może się to nie udać w zależności od tego, co dokładnie less
jest kanałem), np. jeśli -type
został pogrubiony ze znakami wstecznymi.)
Komentarze
- Prześlij dalej przez
col -bx
pierwszy.
-type
, czy chcesz, powiedzmy, cały akapit lub dwa opisujące, co robi-type
?-type
wystarczyłoby na sposób, w jaki zwykle przeszukuję strony podręcznika, jednak zwracanie cały akapit lub dwa opisujące to, co-type
robi, przydałyby się przynajmniej raz.-type
tak.