[英]How to use FINDSTR to get lines with simple OR double quotes
我正在嘗試從目錄樹中的文件中獲取帶有單引號或雙引號的行。 舉個例子,我想用一個findtr命令來獲取這些行:
You should be able to get a "Hello world" program really quick.
Enter a value for params 'name' and 'age', please.
If no value is entered for 'name' param, the "Hello world" program will throw an exception.
我只能使用單引號( findstr /srn \\' *.txt
),只能使用雙引號( findstr /srn \\^" *.txt
),或單引號和雙引號( findstr /srn \\'\\^" *.txt
),但我需要只有一個命令的帶單引號或雙引號的行。
有關如何實現它的任何想法?
Explosion Pills有正確的想法,但沒有正確的語法。
當試圖逃避FINDSTR和CMD解析器的引用時,它會變得棘手。 你想要的正則表達式是['\\"]
,但是你需要轉義"
為CMD解析器。
這將有效:
findstr /srn ['\^"] *.txt
這樣的話
findstr /srn "['\"]^" *.txt
這樣的話
findstr /srn ^"['\^"]^" *.txt
注意
由於一個令人討厭的FINDSTR錯誤,您有可能無法找到包含該字符串的文件。 如果啟用了8.3短名稱且文件夾包含擴展名超過3個以.txt
開頭的字符的文件,則/S
選項可能無法找到文件。 (例如name.txt2
)。 有關詳細信息,請參閱標記為BUG的部分- 短8.3文件名可以打破/ D和/ S選項 Windows FINDSTR命令的未記錄功能和限制是什么? 。
使用字符類
findstr /srn ['\^"] *.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.