我有一个包含子文件夹的文件夹,其命名如下:
1122334 important things
1122335 less important things
1122336 notes
1122337 pictures of kittens
ETC
开头的数字是日期代码。如果由我决定,我会将日期代码放在最后,但事实并非如此。
在 bash 中,我想做这样的事情:
$ cd *pictu<tab>
并得到这个
$ cd 1122337\ pictures\ of\ kittens/
有没有一种简单的方法可以做到这一点,或者我可以放入一些东西.bashrc
来实现这一点?
答案1
据我所知,没有办法使 bash 自动完成*pictu
,但这里有一些解决方法:
不要使用TAB,只需
cd
在模式前后直接使用通配符:$ cd *pictu*
这会将您移至名称包含 的第一个目录
pictu
。使用两个通配符和然后 TAB:
$ cd *pictu*<TAB>
这应该扩展到
cd 1122337\ pictures\ of\ kittens/
使用另一个外壳。
zsh
有一个很酷的功能,你可以这样做:➜ cd pictu<tab>
并扩展到
➜ cd 1122337\ pictures\ of\ kittens/
.