在文本文件中选择一个值

时间:2017-08-28 13:08:06

标签: cmd

我在文本文件中有一个+500000行的表,我需要选择符合条件的那些行。它的头部列是“数量”,我想得到的值是12(整数值)。 我使用Windows命令行。

There are four columns. In this example, you can see the value "12", but there are more than twelve values.

2 个答案:

答案 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

>