免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: gaopengtttt
打印 上一主题 下一主题

SHELL 合并多行 谢谢了 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-09-04 15:57 |只看该作者
格式大概如下:
2009-9-1 19:03:02 Failure
zhang
192.168.16.137
2009-9-1 18:50:24 Failure

192.168.17.5
2009-9-1 18:50:24 Failure

2009-9-1 18:50:24 Failure
B000-A1041$
192.168.17.5
2009-9-1 18:45:58 Failure
Gao
192.168.17.135

论坛徽章:
0
12 [报告]
发表于 2009-09-04 16:14 |只看该作者
原帖由 ly5066113 于 2009-9-4 15:55 发表
是这个意思吧:
sed ':a;$!N;/\n2009/!s/\n/ /;ta;s/  */,/g;D' urfile

:)
用标签来处理还是清爽的多啊~
我原来想用类似于awk的||或者什么东西把$那段去掉来着~ >_<

论坛徽章:
0
13 [报告]
发表于 2009-09-04 17:17 |只看该作者
"2009"当分隔符 \n 用,代替
出来的时候 在awk -F 分割一下
类似
$/ = "2009";
foreach (<DATA>) {
     chomp;
     s/\n/,/g;
     my ($a, $b, $c) = split /\ /,$_;
     print "2009$a\,$b\,$c\n";
}

这样 空行也会被计入一个空格 而不是当\n忽略掉

论坛徽章:
0
14 [报告]
发表于 2009-09-04 17:34 |只看该作者
Gaopeng^M 这里的^M是啥? 我用VI 打开看到 就是它在作怪。。

论坛徽章:
0
15 [报告]
发表于 2009-09-06 17:06 |只看该作者

回复 #14 gaopengtttt 的帖子

dos2unix
windows下面的dos格式文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP