我正尝试使用FINDSTR
commanand和cmd.exe
来生成包含特定字符串的输入文件中所有行的文件。我下面的命令不会产生任何结果,而FIND
命令(下文)显示,有包含字符串182688行我找...命令提示符中的FINDSTR
find命令:
FIND /c "searchstring" c:\Users\karl\Desktop\Report.csv
给出以下:
---------- C:\USERS\KARL\DESKTOP\REPORT.CSV: 182688
FINDSTR命令:
findstr /i /c:"searchstring" c:\Users\karl\Desktop\Report.csv > results.out
给了我一个叫做results.out的空白文件。
我错过了什么?
究竟什么是你的'searchstring'?我现在看到的最可能的罪魁祸首是你的搜索字符串的行为不是你在'findstr'命令中打算的行为;你打算作为一个字符串被解释为具有意想不到的特殊意义的正则表达式符号。 – rojo 2013-03-07 19:01:05
@rojo - 我同意,搜索字符串可能不会按照需要进行解释。但它不能成为正则表达式的问题,因为'/ c'选项默认为文字搜索,除非添加'/ r'选项。 – dbenham 2013-03-07 20:07:27
@dbenham - 例如'findstr/i/c:“* abcd *”'会搜索文字(星号)abcd(星号),而不是包含'abcd'的字符串?这清除了一些长时间的混乱。直到现在,我只是避免在表达式中使用空格,所以我不必在'findstr'中使用'/ c'开关。呵呵。 – rojo 2013-03-07 20:14:24