概述
本文讲述的是使用bat脚本对文件进行数据处理,查找文件的内容,对其中不需要的行删除
背景
在对文本文件的数据处理过程中,有一些数据常常夹杂着不需要的数据,想着是能不能挑出不需要的文本行删除,使需要的文本更加连续
需求
1、找到文本中不需要的内容,删除该内容对应的行,保留其他内容
需求实现
@echo off
rem -----------------------过滤含英文字母、逗号、感叹号、等号、及定义字符串的行----------------------------
set filename="test.txt"
set str1=123
findstr /r /v "[a-zA-Z] = , ! %str1%" %filename% > temp1.txt
rem ---------------------------------------------------------------------
pause
使用示例
将以上批处理脚本保存成"test.bat",新建一个测试的文本内容"test.txt",然后双击"test.bat"执行脚本,脚本执行完成后可以看到test.txt的内容被修改了,删除了不需要的文本行
总结
可以实现这个功能的关键在于 findstr 的参数:
‘/v’ 表示查找输出不含查找字符串内容的文本行,
‘/r’ 表示使用正则表达式解析需要查找的字符串,所以查找的字符串里面可以用空格分割需要查找的多个字符串,
查找字符串中的 [a-zA-Z] 表示英文字符a到z所有的英文字母。
免责声明:本文内容含网络参考、作者编写等,内容版权归原作者所有,未经允许,禁止转载。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。