Shell

如何在文件名開頭使用破折號’-‘打開多個文件?

  • March 8, 2018

我可以一次打開文件,cat -- -file00但我想一次打開多個文件。嘗試使用find,無法弄清楚。

find ./ -name '*.txt' exec cat {} \;

find ./ -name '*.txt' exec grep 'inhere' {} \;

這些都不起作用。我在目錄中有多個文件,格式如下:-file00 -file01 -file03 -file04 -file05 -file06

-name '*.txt'是匹配名稱以 . 結尾的文件.txt。那和你的不匹配。使用與您的文件匹配的模式:

find . -name '-file*' -exec cat {} +

或者

cat ./-file*

如果它們都在目前目錄中(也有利於連接那些按字母順序排列的文件,而不是按find隨機順序列出的文件)。

請注意,--上面不需要 ,因為傳遞給catall 的參數以 開頭./,而不是-

對於更具體的匹配(僅-file後跟兩個十進制數字):./-file[0-9][0-9]

引用自:https://unix.stackexchange.com/questions/429057