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

[文本处理] [已解决]批处理如何提取文本中以空格分隔的字段数量/数目/个数等于指定数值的行

本帖最后由 pcl_test 于 2016-8-11 17:36 编辑

例:

文本a.txt内容为:

01 02 03 04 05 06 07
01 02 03 04 05 06 07 08
01 02 03 04 05 06 07 08 09 10
01 02 03 04 05 06 07 08 09 10 11 12
01 02 03 04 05 06 07 08 09 10 11 12 13
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15

文本里面有很多数字行,行里面出现的数字个数不等。求批处理代码直接从该文本提取出现12个数的行保存为b.txt


比如:

01 02 03 04 05 06 07                                             这一行  7个数 大小是20字节
01 02 03 04 05 06 07 08                                        这一行  8个数 大小是23字节
01 02 03 04 05 06 07 08 09 10                              这一行 10个数 大小是29字节
01 02 03 04 05 06 07 08 09 10 11 12                    这一行 12个数 大小是35字节
01 02 03 04 05 06 07 08 09 10 11 12 13               这一行 13个数 大小是38字节
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15     这一行 15个数 大小是44字节

简单的理解就是一份数字文本里面有很多行,行里出现的数字个数不等。求列出现12个数字的行,保存b.txt

因为行出现的数字个数不同,所以就有一个出现多少数字固定等于这一行的大小是多少字节或kb,上面提及的大小字节就是想以这个思路来得出。

或者高手们有别的方法可以直接得出等于12个数字的行都可以的。。。
1

评分人数

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

  1. gawk "NF==12" a.txt >b.txt
复制代码
1

评分人数

TOP

楼上的代码不行。

我的本意是一份文本里面有很多数字行,每一行出现的数字个数有相同也有不同。要把所有出现12个数字的行列出来保存为b.txt

以前在论坛上看过用每一行的大小字节或KB数来实现的。。求帮忙!谢谢。。

TOP

回复 3# qzwifi


报错信息是什么?

TOP

回复 4# forfiles


    forfiles 你好,没有报错信息。运行后b.txt里面没有生成何任数据。也就是没有保存想要有结果。

TOP

回复 5# qzwifi


    哪个版本的gawk?

TOP

本帖最后由 qzwifi 于 2012-10-6 22:24 编辑

回复 6# forfiles


    forfiles你好,不知如何看是什么版本,而且您是否再看看题义,感觉并不是您所提供的这个命令可以处理出来的。或者您再完善一下代码。谢谢!

TOP

回复 7# qzwifi

gawk是第三方工具,可在论坛搜索下载。。。

TOP

回复 7# qzwifi


到这里下载一个gawk.exe放到C:\windows\system32\下面
http://www.bathome.net/thread-1114-1-1.html

TOP

查看版本的方法:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Test>gawk --version
GNU Awk 3.1.6
Copyright (C) 1989, 1991-2007 Free Software Foundation.

TOP

回复 10# forfiles


    已搞定,谢谢forfiles大哥。。。

TOP

返回列表