Linux文件名和文件通配符

amp*_*ino 4 linux filenames glob

我有一个名为的文件列表:

file000
file001
file002
file003
...
file1100

如何匹配编号大于800但小于1000的所有文件?我正在使用linux bash

谢谢


编辑

实际上,我的文件命名如下:
ab869.enc
cp936.enc
g122345.enc
x2022.enc
abc8859-14.enc
aax5601.enc
cp936-1.enc

所以第一个解决方案不匹配正确的文件:(

如何匹配编号在800-999之间的文件?

icy*_*com 5

在shell中,试试这个:

ls file{801..999}
Run Code Online (Sandbox Code Playgroud)

这将列出file801file999.开头和结尾的文件.

有关说明,请参阅手册:


Dan*_*ing 3

*[89][0-9][0-9].enc
Run Code Online (Sandbox Code Playgroud)

它使用 Bash 的“路径名扩展”功能(又名“globbing”)来匹配以 800 到 999 之间的数字后跟“.enc”结尾的所有文件。(这不是正则表达式)。

例如,使用上面的表达式,您可以在脚本中执行此操作:

mv *[89][0-9][0-9].enc path/to/destination/
Run Code Online (Sandbox Code Playgroud)

如果您还需要它匹配名为“cp850-1.enc”的文件,那么您需要将表达式更改为:

*[89][0-9][0-9]*.enc
Run Code Online (Sandbox Code Playgroud)