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

[文本处理] 批处理怎样处理连续多个分隔符?

有一个文本内容见附件
内容复制出来(每个字符串以TAB进行分隔):
123 333 4456 7789 90 123
333 454 6435 6436 11 223
343 gfd 4466 7457 90 222
123 g r 555 53 323
434   3434 90 343
3535 33  344 90 3355

………………………………

该数据用excel打开后第五行的第二第三列为空,现在我不想用excel打开该文件,而是之间用批处理对文本进行处理,从而选取文本的第六列为90的,所有第二列内容,仍旧保证第二列原本为空的继续为空,我尝试用FOR处理,可是选取的TOKENS有空值的话,会被后面的值所代替,也就是多个联系的TAB分隔符,它会当做一个来处理,请问若要达到我需要的效果,该如何处理?

  1. gawk "gsub(/\t/,\",\")" 1.txt | gawk -F, "{if($(NF-1)==90){gsub(/,/,\"\t\");print}}" >2.txt
复制代码

TOP

  1. gawk "BEGIN{FS=\"\t\"}$5==90{print $0}" ufile.txt
复制代码

  1. sed "/\t90\t[0-9]*$/!d" urfile.txt
复制代码

[ 本帖最后由 asnahu 于 2010-9-26 19:01 编辑 ]

TOP

谢谢大家的回复支持,但是我还是有些不懂回复的内容,麻烦大家能耐心给予解释,非常感谢!

TOP

哪里不懂?从哪里开始解释?

TOP

呵呵就是整个代码都不懂,谢谢赐教!

TOP

那些使用第三方工具的人,请明确交待一下,且最好给出从哪里下载,不然你的回复毫无帮助。大多数求助者都是新手。

TOP

回复 6楼 的帖子

我们都使用了GUN win32的第三方工具,可以拷贝到系统文件夹方便调用。sed、gawk本论坛有下载。具体代码不做解释。

TOP

回复 7楼 的帖子

批处理第三方命令行工具单行本汇总
http://bbs.bathome.net/thread-3981-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表