linux 使用shell 将log文件中的数据由列转换成行

linux 使用shell 将log文件中的数据由列转换成行,第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:008.2%1773620k

16:23:013% 1770024k

16:23:025.7%1766272k

16:23:034% 1766160k

16:23:047.9%1775436k

16:23:052.5%1775488k

16:23:063.9%1770340k

#符合要求的话,请及时点采纳。

买一送一,在送你一个 sed

sed -n 'NNs/\n/ /gp' log

可以

合并成一行使用tr 命令把换行符映射为tab就可以了。

cut XXX -f 3 |tr '\n' ‘ \t’

或者替换成空格

cut XXX -f 3 |tr '\n' ‘ ’

这个是直接删除换行,这会导致数字之间没有分割:

cut XXX -f 3 |tr -d '\n'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7619775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存