查找具有相同前几个字符的文件

时间:2012-05-07 20:07:02

标签: windows bash shell

我试图找到一个Windows shell命令,让我选择以相同的3个字符开头的所有文件。因此,例如,如果目录具有以下内容:

000hello 000world 111foo 121bar

命令会给我前两个文件。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:0)

使用bash通配符

$ echo 000*

答案 1 :(得分:0)

Windows命令行,对吧?

dir 000*

*是匹配文件名

中任何字符的通配符

?是一个匹配文件名中单个字符的通配符

根据您的新信息:

for /f %i in ('dir /b 000*') do (
   echo %i is the name of the file we found
   type %i
)

如果您在批处理文件中,请使用%%i

这假设您希望保留在当前工作目录中。如果要将目录树转到子目录,请查看使用for /r

答案 2 :(得分:0)

由于它被标记为Windows,因此不清楚需要哪种类型的解决方案,但如果使用Ruby是可能的,这可能会有效。

# create a hash of arrays where the hash value is the first three letters of the
# file name and the value is an array of those entries.
h = Hash.new{|h,k| h[k] = []}
Dir.foreach(".") { |f| h[f[0..2]] << f }

# then print/use the ones that have multiple entries
h.each_key { |k| puts h[k] if h[k].length > 1 }