Автозаполнение при частичных совпадениях в середине имени файла в терминале (тире / bash)

У меня есть несколько каталогов:

20130118-Cars_Directory
20130118-Bikes_Directory
20130218-Planes_Directory
20130228-Scooters_Directory

Есть ли способ изменить каталоги способом ввода частичного совпадения в середине команды.

В идеале, что-нибудь в стиле cd *Bikes*<TAB>, а у черточки есть автозаполнение остальных?

5
задан 31 March 2013 в 15:24

3 ответа

На самом деле, по совпадению, оказывается что cd *Bikes*<RETURN> работы без любых изменений в системе.

я просто немного ошеломлен, что это не потребовало кавычек приблизительно *Bikes*.

3
ответ дан 31 March 2013 в 15:24

Можно сделать это путем создания псевдонима для CD и определения завершения удара как желание. См. , руководство .

Завершения Холостяка Здесь является пошаговым руководством. Я буду использовать "scd" для нашей новой команды, но можно использовать "CD" также.

1) Редактирование .bashrc файл

gedit ~/.bashrc  

2) Создание псевдонима
Вставка это в финале ".bashrc" файла:

# Alias for making a "Super cd"

alias scd="cd"

_scd_completion() {
    mapfile -t COMPREPLY < <(ls -d */ | grep "${COMP_WORDS[COMP_CWORD]}")
}
complete -F _scd_completion scd

Сохраняют и закрываются.

3) Откройте новый терминал
Или работайте: source ~/.bashrc

4), Как использовать

Просто, называют команду сопровождаемой частью названия каталога, Вы хотите пойти.

scd Bikes<TAB>

Сделанный.Приятного отдыха!

5
ответ дан 31 March 2013 в 15:24

Попытайтесь использовать инструмент, названный z, он позволяет то, в чем Вы нуждаетесь, плюс он создает глобальную базу данных Вашего CD, взвесил частотой и позволяет Вам переходить к часто посещаемому месту немедленно.

При посещении каталога Bikes можно позже ввести

z Bikes

и Вы перейдете там

1
ответ дан 23 November 2019 в 08:56

Другие вопросы по тегам:

Похожие вопросы: