
标题: [文本处理] 批处理如何删除文本中含有指定关键字并且连续出现多次的行内容 [打印本页]
作者: hijackle 时间: 2018-4-25 22:00 标题: 批处理如何删除文本中含有指定关键字并且连续出现多次的行内容
求助一下一个文本处理的问题
文本如附件,内容大致如下:- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\123\1230000001】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\123\1230000001\main.swf】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10200001\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10200001\1020000001\main\stand\nomal】
-
- [20180425 213138][Create]
- 【C:\test.exe】【5465】
- 【C:\ProgramData\Penguin\Action\10200002\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\test.exe】【5465】
- 【C:\ProgramData\Penguin\Action\10200003\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\test.exe】【5465】
- 【C:\ProgramData\Penguin\Action\10200004\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\test.exe】【5465】
- 【C:\ProgramData\Penguin\Action\10200005\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\102\1020000001\Config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10300001\1030000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10300002\1030000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\test.exe】【5465】
- 【C:\ProgramData\Penguin\Action\10200004\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\test.exe】【5465】
- 【C:\ProgramData\Penguin\Action\10200005\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10300005\1030000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\103\1030000001\Config.xml】
复制代码
要求删除所有包含C:\test.exe字符串的连续三行的内容。删除之后的内容应该如下:- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\123\1230000001】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\123\1230000001\main.swf】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10200001\1020000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10200001\1020000001\main\stand\nomal】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\102\1020000001\Config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10300001\1030000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10300002\1030000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\10300005\1030000001\config.xml】
-
- [20180425 213138][Create]
- 【C:\ProgramData\Pet\Penguin.exe】【5464】
- 【C:\ProgramData\Penguin\Action\103\1030000001\Config.xml】
复制代码
作者: cfwyy77_bat 时间: 2018-4-26 17:40
本帖最后由 cfwyy77_bat 于 2018-4-27 12:12 编辑
这个应该用sed 做比较合适,不过本人sed也是学得刚入门
给一个不是很好的方案:- sed "N;/\n.*test.exe/!P;D" 111.txt | sed "/test.exe/,+2d" >result.txt
复制代码
更新一下,可以一步做到:- sed "N;/\n.*test.exe/,+2d;P;D" 111.txt >result.txt
复制代码
作者: WHY 时间: 2018-4-26 21:05
- PowerShell "(type a.txt) -join \"`r`n\" -replace '[^\r\n]+\r\n.*C:\\test\.exe.*\r\n[^\r\n]+[\r\n]*'"
复制代码
- gawk -v RS="" "$0!~/C:\\test\.exe/" a.txt
复制代码
- grep -P -A1 -B1 "(?<!C:\\test)\.exe" a.txt
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |