[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]sed命令怎么提取多个txt文本的指定行

本帖最后由 w609053988 于 2016-11-21 14:26 编辑

sed命令如何批量提取大量文件的数据:javascript:;
1.提取数据的格式:.txt、.csv,提取的数量比较多,可能几千个,需要考虑到效率
2.提取每个文本M-N行的数据,或者某两个字符串之间的数据,如果能定位到某个字符串(比如字符串在第10行),我要提取的数据在11-20,以字符串为参考,提取出11-20行的数据

工作需要经常处理分析一些数据(*.txt、*.csv等),其实VBA也都可以实现上面的功能,但个人感觉效率有点慢,试验过提取500个,得花费3分多中,如要处理大几千的数据,那就太慢了
想请教批处理有什么好的方法吗?不仅限于sed命令

批处理命令也是最近才接触了,把基本的系统自带的学习了下,虽然那些命令过时已久,但魅力仍在,从findstr命令开始对批处理感兴趣了,
因为有一次处理7000多txt文件,用findstr批量提取某一行数据,只花费了10秒不到,当时惊吓到我了,如果用VBA的话可能需要四五十分钟,
本人新手,望大家指点,互相学习!

@echo off
del 3.ini
sed  -n "1,3p" *.txt>>3.ini
pause
上面的代码为何只提取到了目前下的第一个txt文件?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# pcl_test


    感谢,才刚开始学习sed,对gawk不太懂,能提供gawk的使用说明吗,带实例的更好,
另代码刚刚测试可用,但是能把提取的内容输出到1.csv中吗?

TOP

回复 4# pcl_test


    感谢版主,看来需要好好学习了!

TOP

回复 4# pcl_test

可惜给的帖子没写完!

TOP

回复 7# pcl_test


    官网教程看到了,但是纯英文,不太好懂,那个帖子蛮好的,可惜等3年了还没更新

TOP

回复 2# pcl_test


    版主,能解释下每行代码的意思吗?感觉gwak与其他的那些批处理语法完全不同啊!

TOP

回复 10# Batcher

感谢,资料已下,如有问题还望不吝赐教!

TOP

回复 11# pcl_test


    纯批已测试,没问题,感谢斑竹!

TOP

本帖最后由 w609053988 于 2016-11-30 15:59 编辑

纯批的for循环还能优化效率吗?我提取7000多个csv的指定区域输出到某个文件,需要花费15分钟,前面比较快,后面越来越慢!纯gawk效率确实高太多,几秒钟搞定,但是提取上面7000多确只抓出了2000多,纯批的for全部抓取出来了,不知道什么问题,文件名包含大小写字母和数字,还有英文的_和-,文件名都是以字母开头,另纯gawk的可以抓取每个文件选取的内容前先把文件名抓取,一同输出到单独的文件中吗?

TOP

回复 2# pcl_test


    后面我自己创建了4000个文件测试,发现也只处理了2045个文本,这是为什么?

TOP

回复 16# pcl_test

非常感谢,这个测试提取4000文件没问题!

TOP

返回列表