将SQL数据输出到一行 [英] Move sql output data to one row

查看:402
本文介绍了将SQL数据输出到一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有SQL输出,以这样的形式,当从DB服务器获取:

  1 OI 021 141012 1321 0001242 4S 2 0080004 5 001 00014 000001 6 6 000000000000016973 0000000000 0529540437
2963526113
测试7 8 9 000000001

这之前,我用TR\\ t的,| TR -s,以消除不必要的空格和制表符。
现在知道如何移动的第二和第三行(或者,如果存在另一个行)到第一行

我期望的观点是那一句:

  1 OI 021 141012 1321 0001242 4S 2 0080004 5 001 00014 000001 6 6 000000000000016973 0000000000 0529540437 2963526113测试7 8 9 000000001


解决方案

一个简单的awk脚本将

  $的awk'{所有=所有$ 0} END {打印所有}'测试
 1 OI 021 141012 1321 0001242 4S 2 0080004 5 001 00014 000001 6 6 000000000000016973 0529540437 00000000002963526113test 7 8 9 000000001

I have SQL output which is in that form when get from the DB server:

 1 OI 021 141012 1321 0001242 4S 2 0080004 5 001 00014 6 000001 000000000000016973 6 0529540437 0000000000
2963526113
test 7 8 000000001 9

Before that I use tr "\t" " " | tr -s " " to remove unwanted blank spaces and tabs. Now wondering how to move the second and third row (or if there another rows) into the first row.

Expectation view for me was that one:

1 OI 021 141012 1321 0001242 4S 2 0080004 5 001 00014 6 000001 000000000000016973 6 0529540437 0000000000 2963526113 test 7 8 000000001 9

解决方案

A simple awk script would be

$ awk '{all=all $0} END{print all}' test
 1 OI 021 141012 1321 0001242 4S 2 0080004 5 001 00014 6 000001 000000000000016973 6 0529540437 00000000002963526113test 7 8 000000001 9

这篇关于将SQL数据输出到一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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