假设我在某个目录中有多个文件,它们都以相同的字符串开头
$ ls
fileAA234 fileAA247 fileAA255 fileAA264
fileAA269 fileAA277 fileAA285 fileAA294
通常,在命令行中浏览此类数据文件时,我只想读取其中任何一个文件来查看它们的结构。
但如果我进入
$ less f
然后点击 Tab 键完成,答案是
$ less fileAA2
fileAA234 fileAA247 fileAA255 fileAA264
fileAA269 fileAA277 fileAA285 fileAA294
这并没有让我更接近打开其中一个文件。
所以现在我要么用鼠标标记一个随机文件名并将其复制粘贴到提示符中,要么我向前倾身,让我可怜的眼睛找出一个唯一的字符串来完成输入文件名。
有简单的解决方案吗?我只是忽略了一些显而易见的东西,对吧?我真的很想有类似tab+enter自动完成并打开列表中第一个文件的功能,就像在这种情况下一样fileAA234
。
感谢您的帮助。我想象有一种方法可以通过组合一些工具(如ls
和)来构建 shell 脚本head
,但我还是个初学者,还没有找到自己的解决方案。
答案1
只需使用通配符(*):
$ less fileAAA*
这将打开 less 中的第一个文件。当您到达文件末尾时,less 将继续下一个文件。如果您只想快速查看任何一个文件,并且总是打开第一个(按字母数字排序)文件就可以了,只要在看够之后按“q”退出 less。
答案2
对于 bash,输入以下内容~/.inputrc
:
"\C-i": menu-complete
这将导致Tab始终完成全名;再次按下可在完成之间切换