2013-07-07 11 views
10

Znalazłem się w sytuacji, gdy ciągle szukam parametrów polecenia w bashu. Na przykład: find -type f -name '*py' -print0. Aby znaleźć wszystkie te informacje, muszę przejść przez opcję man, info lub --help, która jest pracochłonna i czasochłonna. Czy istnieje sposób na natychmiastowe przeprowadzenie tego wyszukiwania. Najlepiej byłoby, gdyby zobaczyłem coś w rodzaju: find -type --help podając pomoc dotyczącą opcji typu find.Szybkie wyszukiwanie opcji poleceń w bashu

+1

Byłoby przydatne, ale nie sądzę, że jest to możliwe. Niektóre programy rzeczywiście integrują takie cechy w sobie, takie jak "program --help type", aby poprosić o pomoc w parametrze "-type". Być może jednak możliwe jest skonstruowanie jakiegoś tajemniczego skryptu powłoki, który wykopałby te informacje ze stron man. – Jubatian

+0

Nie wiem nic o bash, ale zsh jest dość łatwy do napisania wtyczek, więc możesz mieć więcej szczęścia z tym. – tjameson

Odpowiedz

9

Jeśli twoje strony podręcznika są otwarte w less, możesz użyć /, aby przeszukać.

man find

/-type

n, do następnego wyszukiwania

N do poprzedniego wyszukiwania

+0

Bardzo ładne. Choć nie tak potężny jak bezpośrednie wyszukiwanie. –

+1

Jednym ze sposobów na poprawienie tego jest poprzedzanie zapytania podwójną spacją, jak w '/ -OPTION' - w ten sposób w większości przypadków skutecznie skończysz z definicją, pomijając części, w których' -OPTION' może być użyty w ciągu zdanie. To jest właściwie coś, czego szukałem. – krzemian

1

Oto coś mam w moim .bashrc

# man search 
mans() 
{ 
    if [ $# -ne 2 ]; then 
     echo "I need 2 args. a man page and a search phrase." 
     exit 1 
    else 
     man -Pless "$1" | grep -C10 --group-separator="==============================" -- "$2" 
    fi 
} 

mans find type przeszukuje stronę man dla wszystkich wystąpień frazy "type".

Lub: mans find -type (z myślnikiem), jeśli wiesz dokładnie opcję szukasz.

0

Można umieścić

function mangrep { man -P less\ -p\ \""${1}"\" ${2}; } 

do .bashrc. Następnie mangrep pattern page otworzy stronę podręcznika przy pomocy less i bezpośrednio wyszuka wzór, jak w Blaz Balons answer. Więc

mangrep " -print" find 

daje właściwe miejsce dla opcją find-print. Nadal można używać funkcji n/N do wyszukiwania w przód i w tył, a także wszystkich innych funkcji mniejszych.