将行转换为列Shell脚本 [英] Convert Rows to Columns Shell Script

查看:65
本文介绍了将行转换为列Shell脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据格式如下

APP_OWNER                     : hari
APP_AREA                      : Work:Business Area:AUS
APP_ID                        : 124080

我希望将数据转换为以下格式.

I want the data to be converted to below format.

APP_OWNER,APP_AREA,APP_ID
hari,Work:Business Area:AUS,124080

我可以转换一行,但是如何同时转换三行呢?

I can convert one line but how to do it with 3 lines at the same time?

我的尝试只有一行

sed '0,/: /s//\n/' test.txt

致谢

推荐答案

您可以尝试以下 awk 解决方案:

You may try this awk solution:

awk -F '[[:blank:]]+:[[:blank:]]+' '{
   v1 = (v1 == "" ? "" : v1 ",") $1
   v2 = (v2 == "" ? "" : v2 ",") $2
}
END {
   print v1 ORS v2
}' file

APP_OWNER,APP_AREA,APP_ID
hari,Work:Business Area:AUS,124080

这篇关于将行转换为列Shell脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆