我在文本文件中有一个+500000行的表,我需要选择符合条件的那些行。它的头部列是“数量”,我想得到的值是12(整数值)。 我使用Windows命令行。
答案 0 :(得分:0)
据我所知,cmd无法做到这一点。
您可以使用 findstr 命令在文本文件中查找某些特定字符串,但cmd无法识别列。
答案 1 :(得分:0)
根据评论,您要删除每行,其中12
为第二个值(word)。即使使用findstr
瘫痪的REGEX支持也可以做到这一点,这使得它成为一个简单的单行命令:
findstr /rvc:"^[^ ]* 12 " input.txt>output.txt
findstr
切换:r
:正则表达式支持,v
排除调查结果,c
:“文字”(因空格而需要)
REGEX:
^
:行的开头
[^ ]
:任何字符([]
不是^
)空格()
*
:也许更多这样的
12
:space-12-space
找到任何以一个或多个非空格字符开头的行,然后是空格12
和另一个空格。 (或用/v
忽略它们)
我cmd
会话的记录:
>type t.txt
123.54 12 1 5
123.52 12 1 4
12.52 12 1 3
423.05 11 2 4
41 10 1 6
12 22 33 4
411,26 5 12 4
>findstr /rvc:"^[^ ]* 12 " t.txt>output.txt
>type output.txt
423.05 11 2 4
41 10 1 6
12 22 33 4
411,26 5 12 4
>findstr /rc:"^[^ ]* 12 " t.txt>output.txt
>type output.txt
123.54 12 1 5
123.52 12 1 4
12.52 12 1 3
>