linux 使用shell 将log文件中的数据由列转换成行
我自己过滤了一个log文件内容形式如下:16:23:008.2%1773620k16:23:013%1770024k16:23:025.7%1766272k16:23:0...
我自己过滤了一个log文件内容形式如下:
16:23:00
8.2%
1773620k
16:23:01
3%
1770024k
16:23:02
5.7%
1766272k
16:23:03
4%
1766160k
16:23:04
7.9%
1775436k
16:23:05
2.5%
1775488k
16:23:06
3.9%
1770340k
上述内容为:时间/cpu使用量/内存使用量,我想将这三个信息显示在一行中,如下:
16:23:00 8.2% 1773620k
16:23:01 3% 1770024k
请问能帮帮兄弟吗? 展开
16:23:00
8.2%
1773620k
16:23:01
3%
1770024k
16:23:02
5.7%
1766272k
16:23:03
4%
1766160k
16:23:04
7.9%
1775436k
16:23:05
2.5%
1775488k
16:23:06
3.9%
1770340k
上述内容为:时间/cpu使用量/内存使用量,我想将这三个信息显示在一行中,如下:
16:23:00 8.2% 1773620k
16:23:01 3% 1770024k
请问能帮帮兄弟吗? 展开
1个回答
展开全部
$cat log
16:23:00
8.2%
1773620k
16:23:01
3%
1770024k
16:23:02
5.7%
1766272k
16:23:03
4%
1766160k
16:23:04
7.9%
1775436k
16:23:05
2.5%
1775488k
16:23:06
3.9%
1770340k
(=^.^=) 二 1月 31 19:57:43
$awk '{if(0==NR%3)printf("%s\n",$0);else printf("%s\t",$0)}' log
16:23:00 8.2% 1773620k
16:23:01 3% 1770024k
16:23:02 5.7% 1766272k
16:23:03 4% 1766160k
16:23:04 7.9% 1775436k
16:23:05 2.5% 1775488k
16:23:06 3.9% 1770340k
#符合要求的话,请及时点采纳。
买一送一,在送你一个 sed
sed -n 'N;N;s/\n/ /gp' log
16:23:00
8.2%
1773620k
16:23:01
3%
1770024k
16:23:02
5.7%
1766272k
16:23:03
4%
1766160k
16:23:04
7.9%
1775436k
16:23:05
2.5%
1775488k
16:23:06
3.9%
1770340k
(=^.^=) 二 1月 31 19:57:43
$awk '{if(0==NR%3)printf("%s\n",$0);else printf("%s\t",$0)}' log
16:23:00 8.2% 1773620k
16:23:01 3% 1770024k
16:23:02 5.7% 1766272k
16:23:03 4% 1766160k
16:23:04 7.9% 1775436k
16:23:05 2.5% 1775488k
16:23:06 3.9% 1770340k
#符合要求的话,请及时点采纳。
买一送一,在送你一个 sed
sed -n 'N;N;s/\n/ /gp' log
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询