我可以使用一次打开文件,cat -- -file00
但我想一次打开多个文件。尝试使用find,无法弄清楚。
find ./ -name '*.txt' exec cat {} \;
find ./ -name '*.txt' exec grep 'inhere' {} \;
这些都不起作用。我在目录中有多个文件,格式如下:-file00 -file01 -file03 -file04 -file05 -file06
答案1
-name '*.txt'
是匹配名称以.txt
. 结尾的文件。那不会匹配你的。使用与您的文件匹配的模式:
find . -name '-file*' -exec cat {} +
或者
cat ./-file*
如果它们都在当前目录中(还具有按字母顺序排列的这些文件的好处,这与find
随机顺序的列表文件相反)。
请注意,--
上面不需要 ,因为传递给cat
所有参数都以./
, not开头-
。
对于更具体的匹配(仅-file
后跟两位小数):./-file[0-9][0-9]
答案2
xargs
如果您愿意,也可以使用。
find ./ -name '-file0*' | xargs cat
如上所述,您的文件实际上都没有.txt
扩展名。如果他们这样做了你可以替换-file0*
为*.txt