Wyszukaj polecenia w historii za pomocą nieciągłych słów kluczowych


13

Zastanawiałem się, jak wyszukiwać polecenia w historii, nie znając kilku pierwszych liter polecenia?

Podczas wyszukiwania przy użyciu opcji Ctrl- Rw trybie bash należy podać kilka pierwszych liter polecenia. Co, jeśli znam tylko niektóre postacie na środku lub niektóre na początku, a niektóre na środku?

Na przykład, aby szukać cat myfile, wiem tylko, że jest atw nim, albo cna początku i mygdzieś pośrodku. słowa kluczowe muszą być stale pozycjonowane. Na przykład, cat myfilechciałbym wyszukać oba ci my, ale Ctrl+Rnie pozwolę na określenie obu jednocześnie.


2
Używam Ctrl-R cały czas i automatycznie przeszukuje środkowy tekst. Nic szczególnego, ale w twoim przykładzie wystarczy wpisanie my. RHEL4 i Cygwin potwierdzone.
Aaron D. Marasco,

@ Tim: tak naprawdę tego nie próbowałeś, prawda? Bo to nie szukaj literami w środku polecenia.
alex

1
@alex: Chciałem powiedzieć słowa kluczowe, które nie są pozycjonowane w sposób ciągły. Na przykład, cat myfilechciałbym wyszukać oba ci my, ale Ctrl + R nie pozwoli na określenie obu jednocześnie.
Tim

Odpowiedzi:


12

Jeśli chcesz po prostu znaleźć linię (aby pobudzić pamięć), możesz po prostu grep dla części zapamiętanego polecenia:

history | grep "substring"

2
Jak to jest, że używam systemów * nix od ponad 5 lat i historydo tej pory nie wiedziałem o poleceniu? Dzięki!
GMA

8

Bash ma tylko proste wyszukiwanie ciągów, o ile widzę.

Rozważ przejście na zsh , który ma historię wyszukiwania symboli wieloznacznych. history-incremental-pattern-search-backwardi history-incremental-pattern-search-forwarddomyślnie nie są powiązane z kluczami, ale możesz je powiązać:

bindkey '^X^R' history-incremental-pattern-search-backward
bindkey '^X^S' history-incremental-pattern-search-forward

Następnie wpisz Ctrl+X Ctrl+R ^c*my.


0

Apropos (1) powinien również zwrócić człowieka za podmiot, jeśli zawiera on to słowo. Whatis (1) zwraca tylko dopasowania bezwzględne.

Dla odniesienia: Apropos == man -k Whatis == man -f

Te dwa powinny być świetną pomocą, wraz z symbolami wieloznacznymi * i?


1
Pytanie dotyczy przeszukiwania historii poleceń w terminalu ... (nie przeszukiwania stron podręcznika) ... ale w zupełnie osobnej notatce uznałem twoją odpowiedź za przydatną, więc +1 :)
Peter.O

.... Ach cudownie, mój zły na tego jednego partnera.
baweaver
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.