2013-01-09 6 views
44

Myślę, że dobry przykład pomoże mi zrozumieć moje pytanie.W odwróceniu i-wyszukiwania (Ctrl + R), Dowolnej metodzie przełączania między podobnymi poleceniami w historii.

... 
scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important 
... 
... 
scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important/tested 
... 
... 

Przyjmij, że jest to kolejność poleceń w historii. Jeśli wykonuję Ctrl + R i wpisz scp pokaże on ostatnio wykonaną komendę scp (tj. Wiersz kończący się "przetestowany").

Ale chcę znaleźć polecenie scp kończące się na "ważne". Czy jest jakiś sposób w tym reverse-i-search, aby wyświetlić wszystkie polecenia zaczynające się od scp, aby wybrać odpowiedni?

+12

Czy próbowałeś ponownie naciskając CTRL-R? – dwalter

+0

podczas wyszukiwania używają unikalnych słów, dzięki czemu jest bardzo precyzyjny. –

+0

możliwy duplikat [Nie można przesłać historii wyszukiwania Bash podobnie jak przy CTRL-r] (http://stackoverflow.com/questions/791765/unable-to-forward-search-bash-history-similarly-as-with-ctrl -r) –

Odpowiedz

92

naciskaj Ctrl - R i będzie przechodzić do historii.

+2

Dzięki, czy istnieje możliwość użycia Ctrl-R do tyłu? Więc jeśli mam "ctrl-R" przez jakiś czas, widzę wyniki, ale chciałbym je cofnąć. "Shift-Ctrl-R" nie działa. EDYCJA: Rozwiązanie jest na SO, patrz "powiązane". – Timo

+2

Wyszukiwanie do przodu: Ctrl-S. Zobacz http://stackoverflow.com/questions/17760474/reverse-intelligent-search-reverse-i-search-how-to-get-previous -result?rq=1 – SailAvid

16

Jeśli wyszukiwane hasła są nieco bardziej skomplikowane/nie sąsiadują, innym rozwiązaniem jest grep wśród history rezultatów, np:

history 300 | grep scp | grep important$ 

ta zwróci listę poleceń w swojej historii, które odpowiadają, takie jako:

3323 scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important 
3325 scp file1 [email protected]:/home/user1/winfiles/samplecode/important 

Następnie można wykonać odpowiednie polecenie za pomocą !3325.

czasami znaleźć to przydatne, gdy działa wiele podobnych poleceń i może trzeba nacisnąć Ctrl+ R wielokrotnie wracać do dokładnego polecenia.

2

Jest doskonałą alternatywą dla Ctrl + R

zainstalować https://github.com/dvorka/hstr

uruchomić go z hh

pokazuje listę was wszystkie ostatnie polecenia wykonania (treść ./ bash_history)

jeśli zaczniesz pisać, lista zostanie przefiltrowana w oparciu o wpisany kod

można użyć Up/dół strzałek, aby wybrać żądane polecenie i wybierz go z Wprowadź

Powiązane problemy