基于列位置值匹配,通过批处理文件删除txt文件中的某些行

时间:2016-02-20 04:06:07

标签: windows batch-file command-line delete-row

我有一个具有固定长度数据的文本文件。

1234|test1|2015|Who are you
4567|test2||I'm a dumb guy
1234|test1|2015|We all know

我只需要通过检查位置第12个值<>来删除第2行。 2(当前年份所有行将始终为2,直到2099 :))然后删除该行。换句话说,只需获取位置12中包含值2的行。

我尝试搜索并找到了这个,但我不知道如何重新编写以查找position = value。

输入file.txt | findstr / v错误| findstr / v REFERENCE

Delete certain lines in a txt file via a batch file

非常感谢..

1 个答案:

答案 0 :(得分:3)

findstr /r "...........2" "Data.txt"

请参阅findstr /?寻求帮助。还help

将输出重定向到文件。

findstr /r "...........2" "c:\folder\Data.txt" > "c:\folder\Output.txt"

有关标点符号的帮助,请参阅Trouble with renaming folders and sub folders using Batch