我有一个命令行,它在第二列中查找某些ID(2个ID)。但是我希望这个命令能够搜索所有列,而不仅仅是第二列。 有人可以帮忙吗? 搜索第二列的命令行是:
findstr /rb /c:"[^|]*| *ID1 *|" /c:"[^|]*| *ID2 *|" "src.txt" >" dest.txt"
有人可以对其进行修改,使其搜索所有列而不是第二列,并提供2条命令行:
(1)搜索所有列而不是第2列。
(2)仅搜索1个ID。
(3)仅搜索3个ID。
src.txt - 文本是这样的:
Ja | 11 | XXX
Jn | 19 | YYY
Jx | 21 | yyyas | SAS
也有一些行可能有更多列,就像最后一行。
谢谢!
答案 0 :(得分:1)
在含有行<{p}>的src.txt
中查找
Ja | 11 | xxx
Jn | 19 | yyy
nJ | 19 | yyy
Ax | 21 | Jyyas | sas
Ax | 23 | yyJas | sas
只有3行,其中一列中的值以J
开头,因此写入文件dest.txt
行
Ja | 11 | xxx
Jn | 19 | yyy
Ax | 21 | Jyyas | sas
可以使用以下命令
findstr /R /C:"^J" /C:"\| *J" "src.txt" >"dest.txt"
^J
用于查找以J
开头的行,而\| *J
用于查找具有以J
开头的值的行,其中0或更多空格位于不同于第一列的列中列。
请注意,参数/B
已被删除,否则无法使用
您的示例中的/rb
在一个参数字符串中合并/R
和/B
。