gpt4 book ai didi

cmd - findstr 不能使用行首和行尾

转载 作者:行者123 更新时间:2023-12-01 15:52:26 51 4
gpt4 key购买 nike

我不明白; 搜索 用法很清楚,但我无法让它工作。我要搜索 在文本文件上,使用 ^$特点。这边走:

findstr /C:"^test$" test.txt

我以多种方式制作了文件 (test.txt)(全部在 Windows 上),并且没有尾随空格,但仍然没有找到匹配的行。

它确实可以在没有 ^ 的情况下工作和 $ .

但它显然忽略了 test 前后的任何字符或位置。 .

我只想匹配仅包含 test 的行没有别的。

为什么命令没有按预期工作?

最佳答案

findstr documentation of Microsoft确实不是最好的。 SS64 documentation for findstr更好,包含部分 默认搜索类型:文字与正则表达式 解释何时 搜索 默认情况下运行文字,当正则表达式查找时,如果没有明确定义 /L用于文字 /R用于正则表达式。

此任务有多种解决方案,默认情况下仅匹配整行区分大小写,可以使用 /I 将其更改为不区分大小写。 .

第一个已经由 apandit 给出了.

%SystemRoot%\system32\findstr.exe /R /C:"^test$" test.txt

这将运行一个正则表达式 find 匹配并输出仅包含单词 test 的行区分大小写,没有其他预期。

另一种使用正则表达式查找的解决方案是
%SystemRoot%\system32\findstr.exe "^test$" test.txt

是的,没有 /C:并且因为搜索字符串包含元字符 ^$ ,此查找作为正则表达式查找执行。

另一种解决方案是使用文字查找,它应该只输出完全匹配指定搜索字符串的行。
%SystemRoot%\system32\findstr.exe /X /C:"test" test.txt

同样的结果也会产生这种文字搜索。
%SystemRoot%\system32\findstr.exe /B /E /L /C:test test.txt

参数 /L并不是真的需要,因为在这种情况下, find 是默认文字。但我认为,始终指定 /L 是一种好习惯。 /R 说清楚搜索 以及执行 find 的命令的读者:文字或正则表达式 find。

关于cmd - findstr 不能使用行首和行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32406149/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com