免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4936 | 回复: 5
打印 上一主题 下一主题

mysql shell select结果换行问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-12 16:29 |只看该作者 |倒序浏览
我做了一个sql脚本,如下:
var=$(mysql -u root -proot123 -e "select * from test.resource \G")
echo $var
echo $var|awk '{print $2}'
结果是:
pid process processstat Time cpu memory vmemory result 29828 test S 00:00:00 0 0 13812 248 33024 test S 00:00:00 0 0 13812 248 37814 test S 00:00:00 0 0 13812 248 38752 test S 00:00:00 0 0 13812 248
process
并没有按我预想的,是按表格方式的三行信息,请问怎么能按表方式输出呢?

论坛徽章:
0
2 [报告]
发表于 2014-08-12 17:16 |只看该作者
查了一下资料
var=$(mysql -u root -proot123 -e "select concat(pid, ' ', process,  ' ', processstat, ' ',  Time,  ' ', cpu,  ' ', memory,  ' ', vmemory,  ' ', result, '\n') from test.resource")
echo $var
echo $var|awk '{print $2}'
结果是变成
concat(pid, ' ', process, ' ', processstat, ' ', Time, ' ', cpu, ' ', memory, ' ', vmemory, ' ', result, '\n') 29828 test S 00:00:00 0 0 13812 248\n 33024 test S 00:00:00 0 0 13812 248\n 37814 test S 00:00:00 0 0 13812 248\n 38752 test S 00:00:00 0 0 13812 248\n 42552 test S 00:00:00 0 0 13812 248\n 44365 test S 00:00:00 0 0 13812 248\n 45338 test S 00:00:00 0 0 13812 248\n
'

论坛徽章:
0
3 [报告]
发表于 2014-08-13 09:17 |只看该作者
查了一下资料
mysql -u root -proot123 -e "select * from test.resource into outfile '/tmp/2.txt'"
是可以的,但是需要再读取文件,多了几步处理

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
4 [报告]
发表于 2014-08-13 10:20 |只看该作者
楼主想要的效果是怎样的呢?原始需求是怎样的?

论坛徽章:
0
5 [报告]
发表于 2014-08-13 11:05 |只看该作者
已经成功了,给大家分享一下吧
#!/bin/bash

filename=`mktemp /tmp/test.XXXX`
rm $filename
mysql -u root -proot123 -e "select * from test.resource into outfile '$filename'"
fileinfo=$(cat $filename|awk '{print $1}')
for line in $fileinfo
do
   pid=`echo $line`
done

rm $filename
本来想一条语句完成的,也不想用临时文件的,不过也没有关系,功能实现了。

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
6 [报告]
发表于 2014-08-13 17:10 |只看该作者
mysql -uroot -proot -t -e "select user,password,host from mysql.user" > aa.txt;cat aa.txt
+------+-------------------------------------------+-----------+
| user | password                                  | host      |
+------+-------------------------------------------+-----------+
| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | localhost |
| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | %         |
+------+-------------------------------------------+-----------+
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP