如何 cd 打开/自动完成以特定短语结尾的文件夹

Ohm*_*ect 3 bash cd-command autocomplete wildcards

我有一个文件夹,其中包含如下命名的子文件夹:

1122334 important things
1122335 less important things
1122336 notes
1122337 pictures of kittens
Run Code Online (Sandbox Code Playgroud)

等等

开头的数字是日期代码。如果由我决定,我会将日期代码放在最后,但事实并非如此。

在 bash 中,我想做这样的事情:

$ cd *pictu<tab>
Run Code Online (Sandbox Code Playgroud)

得到这个

$ cd 1122337\ pictures\ of\ kittens/
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点,或者我可以放入一些东西.bashrc来使这成为可能?

ter*_*don 5

据我所知,没有办法让 bash 自动完成*pictu,但这里有一些解决方法:

  1. 不要使用TABcd直接在模式前后使用通配符即可:

    $ cd *pictu*
    
    Run Code Online (Sandbox Code Playgroud)

    这将使您进入名称包含pictu.

  2. 使用两个通配符,然后 TAB

    $ cd *pictu*<TAB>
    
    Run Code Online (Sandbox Code Playgroud)

    那应该扩展到 cd 1122337\ pictures\ of\ kittens/

  3. 使用另一个外壳。zsh有一个很酷的功能,你可以这样做:

    ? cd pictu<tab>
    
    Run Code Online (Sandbox Code Playgroud)

    并且扩展到? cd 1122337\ pictures\ of\ kittens/.