我正在研究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
之后粘贴。
有没有更短的方法来做到这一点?
答案 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
- 仅选择第一项