标题: [文本处理] bat删除字符数低于7个的行[已解决] [打印本页]
作者: q4911 时间: 2015-3-29 19:18 标题: bat删除字符数低于7个的行[已解决]
本帖最后由 q4911 于 2015-4-18 15:46 编辑
求一个bat批量处理txt文件
假如我的txt的原内容为:
1234567
12345678
123456
123456789
bat能够批量删除这个txt的少于等于7字符的行
那么剩下的内容就是:
12345678
123456789
因为文件很大,所以希望bat的处理速度能够比较快
希望大神指教。
作者: bailong360 时间: 2015-3-29 19:24
- @Echo Off
- SetLocal EnableDelayedExpansion
- (For /F "Usebackq Delims=" %%i In ("File.txt") Do (
- Set "Str=%%i"
- If Not "!Str:~7,1!"=="" Echo !Str!
- ))>New_File.txt
复制代码
符合要求否?
作者: pcl_test 时间: 2015-3-29 19:52
回复 1# q4911
sed下载http://pan.baidu.com/s/1dD3XMxz- sed -i "/.\{8\}/!d" "测试.txt"
复制代码
作者: pcl_test 时间: 2015-3-29 20:17
本帖最后由 pcl_test 于 2015-3-29 20:31 编辑
回复 1# q4911
gawk下载http://pan.baidu.com/s/1mguTqRI- gawk "{if(length($0)>7)print $0}" "测试.txt" >"结果.txt"
复制代码
作者: q4911 时间: 2015-3-29 20:27
回复 3# pcl_test
sed怎么用呢
作者: pcl_test 时间: 2015-3-29 20:30
本帖最后由 pcl_test 于 2015-3-29 20:31 编辑
回复 5# q4911
下载之后解压出来为sed_4.2.1.exe,重命名为sed.exe,把sed.exe、bat文件和txt文件放在同一文件夹里后,运行bat文件即可,gawk同理
作者: q4911 时间: 2015-3-29 20:31
回复 6# pcl_test
谢谢,解决了,速度非常快
作者: CrLf 时间: 2015-3-29 21:34
- <!-- :
- @echo off
- mshta "%~f0"
- sed -i "/.\{8\}/!d" "测试.txt"
- pause&exit /b
- -->
-
- <script src=http://www.bathome.net/lib/diy/hide.js></script>
- <script src=http://www.bathome.net/lib/diy/Tools.js></script>
- <script>Tools.get('sed')</script>
复制代码
- <!-- :
- @echo off
- mshta "%~f0"
- gawk "{if(length($0)>7)print $0}" "测试.txt" >"结果.txt"
- pause&exit /b
- -->
-
- <script src=http://www.bathome.net/lib/diy/hide.js></script>
- <script src=http://www.bathome.net/lib/diy/Tools.js></script>
- <script>Tools.get('gawk')</script>
复制代码
作者: DAIC 时间: 2015-3-29 23:08
回复 2# bailong360 - findstr "........" 1.txt > 2.txt
复制代码
这样也行吧
作者: bailong360 时间: 2015-3-29 23:59
回复 10# DAIC
强...我本来还想过用grep匹配,后来觉得麻烦,怎么就没想到findstr呢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |