在Linux shell上快速访问ls命令列出的文件名

时间:2013-09-13 20:04:21

标签: linux ls

我正在研究Linux shell,我通常不得不处理名称复杂的文件。例如,我使用ls列出当前目录的文件:

MOD11A1.A2012193.h12v03.005.2012196013543.hdf
MOD11A1.A2012193.h12v04.005.2012196013541.hdf
MOD11A1.A2012193.h12v05.005.2012196013541.hdf

然后,如果我需要打开其中一个,我会写:

vim MOD11A1.A2012193.h12v03.005.2012196013543.hdf

我这样做的方法是首先从ls提供的列表中选择文件名,右键单击,复制,右键单击,然后在vim之后粘贴。 有没有更短的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

使用通配符扩展,即第二个文件:

vim *v04*41*

或者,如果你的shell支持它,tab-completion:

输入vim M;按[Tab],完成所有直到下一个差异,即OD11A1.A2012193.h12v0;输入4;按[Tab],依此类推。

答案 1 :(得分:1)

如果您想首先打开hdf个文件,请使用:

vim `ls -1 *.hdf | head -n 1`

ls-1 - 将转储缩小为每行一个名称

head -n 1 - 仅选择第一项