WindowsFINDSTR
命令对于筛选大量数据很有用;它过滤掉与指定模式或字符串匹配或不匹配的文本行(如 GNU/BSD grep
)。
但它拒绝输出超过一定长度的行。是否有(原生)替代方案、修复或解决方法?
答案1
答案2
行长度限制
作为命令行参数或通过选项指定的文件
/F:FILE
没有已知的行长度限制。对不包含单个 <LF> 的 128MB 文件成功运行了搜索。管道数据和重定向输入每行限制为 8191 个字节。此限制是 FINDSTR 的“功能”。它不是管道或重定向所固有的。使用重定向的标准输入或管道输入的 FINDSTR 永远不会匹配任何 >=8k 字节的行。>=8k 的行会向 stderr 生成错误消息,但如果在至少一个文件的至少一行中找到搜索字符串,则 ERRORLEVEL 仍为 0。
致谢:
Dave Benham - 列表FINDSTR 未记录的功能和限制从堆栈溢出
答案3
如果长度超过 255,只需包含选项/L
,它就可以工作
findstr findstr /V /L /G:%processfolder%%previousfile% %incoming%%incomingfile%