Шукайте команди в історії з розривними ключовими словами


13

Мені було цікаво, як шукати команди в історії, не знаючи перших кількох літер команди?

При пошуку з допомогою Ctrl- Rв Баш, один повинен дати кілька перших букв команди. Що робити, якщо я знаю лише деяких символів у середині, чи деяких на початку, а деяких на середині?

Наприклад, для пошуку cat myfileя знаю лише, що є atв ньому, або cна початку, і myв середині десь. ключові слова повинні постійно розміщуватися. Наприклад, у cat myfile, я хотів би шукати і те, cі інше my, але Ctrl+Rне дозволяти вказувати обидва одночасно.


2
Я постійно використовую Ctrl-R, і він автоматично шукає середній текст. Нічого фантазійного, але у вашому прикладі достатньо myбуло б просто набрати текст . RHEL4 і Cygwin підтвердили.
Аарон Д. Мараско

@Tim: ти насправді цього не пробував, правда? Тому що це робить пошук букв в середині команди.
alex

1
@alex: Я насправді хотів сказати ключові слова, які не розташовані безперервно. Наприклад, в cat myfile, я хотів би шукати і те, cі my, але Ctrl + R не дозволить одночасно вказати обидва.
Тім

Відповіді:


12

Якщо ви просто шукаєте, щоб знайти рядок (щоб пробігти свою пам'ять), ви можете просто простукати за частину команди, яку ви пам’ятаєте:

history | grep "substring"

2
Як це так, що я використовую * nix системи протягом 5+ років і не знав про historyкоманду до цих пір? Дякую!
GMA

8

Наскільки я бачу, Bash має лише простий пошук рядків.

Подумайте про перехід на zsh , який має пошук підстановочних знаків історії. history-incremental-pattern-search-backwardі history-incremental-pattern-search-forwardне прив’язані до клавіш за замовчуванням, але ви можете зв'язати їх:

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

Потім введіть Ctrl+X Ctrl+R ^c*my.


0

Апропос (1) також повинен повернути людину за предмет, якщо чоловік містить це слово. Whatis (1) повертає лише абсолютні збіги.

Для довідки: Apropos == man -k Whatis == man -f

Ці два мають бути чудовою підмогою, поряд із символами * і?


1
Питання стосується пошуку історії команд у терміналі ... (не пошуку сторінок man) ... але в цілком окремій примітці я знайшов вашу відповідь корисною, тому +1 :)
Peter.O

.... Ах прекрасний, мій поганий на того одного друга.
baweaver
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.