Shell 按文件名中字符的位置搜索Unix文件名

Shell 按文件名中字符的位置搜索Unix文件名,shell,file,unix,search,Shell,File,Unix,Search,我有两个文件 `File 1 = ABC2019120601C` `File 2 = ABC2019120611C` 如果我输入ls-l ABC*C,它将输出所有2个文件。 有没有办法根据角色的确切位置查找文件 For example 1st position = A 2nd position = B 3rd position = C and 14th position = C 然后它将只输出文件abc20120601c Please help if this is possible

我有两个文件

`File 1 = ABC2019120601C`
`File 2 = ABC2019120611C`  
如果我输入ls-l ABC*C,它将输出所有2个文件。 有没有办法根据角色的确切位置查找文件

For example
1st position = A
2nd position = B
3rd position = C
and 14th position = C
然后它将只输出文件
abc20120601c

Please help if this is possible

谢谢

Bash globbing不仅仅有
*
,例如
,意思是“任何单个字符”:


从表面上看,任务是查找文件,而不考虑嵌入的日期时间(可能是YYYYMMDDHH)。这就是“ABC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]C”模式。
printf
find
将起作用

# Single Folder
printf '%s\n' ABC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]C

# Multiple folders, deep search
find /folder1 /folder2 -name 'ABC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]C'


你应该问这个:好的,让我问。感谢您的示例,您仍然可以获得这两个文件!你用的是哪个外壳?它可能会改变答案(sh、ksh、csh、bash…)可能会提供信息,提及通配符也可以组合,因此如果OP对14号之后的字符不感兴趣,他可以更简单地使用
ls-1 ABC?????0*
# Single Folder
printf '%s\n' ABC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]C

# Multiple folders, deep search
find /folder1 /folder2 -name 'ABC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]C'