使用 UNIX 通配符列出文件范围

Mat*_*ene 15 unix bash command-line ls

举例来说,我的工作目录中有以下文件:mjk0001.fits、mjk0002.fits、...数字一直增加到 mjk9999.fits。

有没有办法使用 UNIX 通配符来列出或操作它们的顺序组?例如,如果我需要在 0025 到 0050 上运行一个进程,我会使用什么格式?

我尝试了以下但没有成功:

ls *[25-50].fits
ls mjk00[25-50].fits
ls mjk[0025-0050]*
ls *[0025-0050]*
Run Code Online (Sandbox Code Playgroud)

提前谢谢大家,MK

che*_*ner 23

您可以使用大括号扩展:

ls mjk00{25..50}.fits
Run Code Online (Sandbox Code Playgroud)

如有必要,可以包含前导零:

ls mjk0{000..149}.fits
Run Code Online (Sandbox Code Playgroud)