+ -
当前位置:首页 → 问答吧 → 求awk处理非格式化数据的思路

求awk处理非格式化数据的思路

时间:2011-03-07

来源:互联网

想用awk处理非格式化的系统采集数据,将其中硬件配置信息提取出来,生成制表符分隔的格式化数据,用于excel处理。数据见附件。

数据主要是用空行进行段落分隔的,然后再根据自定义条件解析相关数据。

想使用shell + awk+sed方式,但其中遇到一个问题

在awk中调用sed一般用system()函数,而在system()传递行数据给sed一般用echo + 管道, 如system("echo " $0 " | s/aaa/bbb/")

但行数据中含有\n\r符,echo一处理就报错,无法正常操作。

暂时也没有找其它适当处理的方法。tr -d '\n' 因为也要用echo +管道传递,也不能正常处理。


请教处理这类数据的思路。

之所以选用awk做主框架,是因为处理数据的条件太多,想用awk控制基本筛选条件。


WININFO_20110112_THINKPAD.rar (62.98 KB)
下载次数: 1
2011-03-07 17:27

作者: rickcafe   发布时间: 2011-03-07

在echo 之前 处理掉/r/n

我猜测你是这样处理的 echo "\r\n"
应该是这样的 echo "\\r\\n"

作者: chenbin200818   发布时间: 2011-03-07

回复 rickcafe


    想如何处理,这些问题都没有描述清楚。

作者: blackold   发布时间: 2011-03-07