如何打开文件名开头带有破折号“-”的多个文件?

如何打开文件名开头带有破折号“-”的多个文件?

我可以使用一次打开文件,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

相关内容