[转帖]shell脚本循环查询数据库实现数据输出到csv

shell,脚本,循环,查询数据库,实现,数据,输出,csv · 浏览次数 : 0

小编点评

**一、shell脚本和数据文件** 1. **shell脚本**: 该脚本首先使用 `cat` 命令将 `data.txt` 文件的内容输出到 `mdm_renche__` 文件中。 2. **数据文件**: `data.txt` 文件包含一个名为 `tb_mdm_room` 的数据表。 **二、执行过程解读** 1. **`cat data.txt | while`**: 这段代码将将 `data.txt` 文件的内容作为输入并使用 `while` 循环读取数据。 2. **`read`**: 该循环变量名为 `lineno`,用于记录每行数据的计数。 3. **`do … done`**: 在循环中,它执行以下步骤: * **`mysql`**: 使用 `mysql` 命令连接到远程数据库。 * **`use sunacwy_mdm;`**: 切换到名为 `sunacwy_mdm` 的数据库。 * **`select * from tb_mdm_room;`**: 执行查询,检索所有数据。 * **`s/\\t/,/g`**: 将所有制表符 `\t` 替换为 `,`。 * **`s/NULL/ /g`**: 将所有 `NULL` 替换为 ` `。 * **`s/\/\\r\/g`**: 将所有反斜杠 `\/` 替换为 `\r`。 4. **`>>`**: 这两条管道符号将查询结果写入 `mdm_renche__` 文件中。 **三、文章知识点与官方知识档案匹配** 文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览7437 人正在系统学习中。

正文

https://blog.csdn.net/m0_46897923/article/details/125906115?spm=1001.2014.3001.5501
可以利用这个思路高点事情吧..

一、shell脚本和数据文件

1.shell脚本

cat data.txt|while read line
do
  mysql -h 10.4.8.133 -u master_data -p'**********' -P 33306 -e "
use sunacwy_mdm;
select * from tb_mdm_room;
"  -s |sed -e  "s/\t/,/g" -e "s/NULL/  /g" -e "s/\n/\r\n/g"  >> ./mdm_renche__`date +%F`.csv
done

    2.数据文件

    数据文件名为data.txt

    161892490786579524
    161892490786588117
    161892490786625355
    161892490786654523
    161892490786657621
    161892490786664153
    

      二、执行过程解读

      cat data.txt,查看数据,然后使用read 将文件进行读取操作,line则是变量名无任何要求,下面就是do … done的循环了,在循环里面处理数据。这里是将查询的数据不断拼接到指定文件中。
      放这里希望可以帮助有需要的朋友。

      文章知识点与官方知识档案匹配,可进一步学习相关知识
      云原生入门技能树首页概览7437 人正在系统学习中

      与[转帖]shell脚本循环查询数据库实现数据输出到csv相似的内容:

      [转帖]shell脚本循环查询数据库实现数据输出到csv

      https://blog.csdn.net/m0_46897923/article/details/125906115?spm=1001.2014.3001.5501 可以利用这个思路高点事情吧.. 一、shell脚本和数据文件 1.shell脚本 cat data.txt|while read l

      [转帖]shell编程之循环语句

      目录 一、循环语句for循环for语句的结构嵌套循环 while语句的结构while语句应用示例 until语句的结构until语句示例 二、跳出循环continue跳出循环break跳出循环 三、常用循环脚本实例循环打印9*9乘法表数字累加脚本(1-100)常用转义字符购物shell 计算器正等腰

      [转帖]echo 输出不换行-e \c

      http://www.my889.com/i/1952 在shell中,echo输出会自动换行。有时候在循环中不希望echo输出换行。代码实现如下: 1 echo -e " \c" # -e 表示开启转义, \c表示不换行 脚本: 1 2 3 4 5 6 7 8 9 #!/bin/bash i=1

      [转帖]Shell 脚本中经典的13个面试题

      经典的Shell十三问 1. 为何叫做shell?2. Shell prompt(PS1)与Carriage Return(CR)的关系?3. 别人echo, 你也echo, 是问echo知多少?4. ""(双引号)与(单引号)有什么区别?5. var=value? export前后差在哪?6. e

      [转帖]shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)

      https://developer.aliyun.com/article/885658 简介: shell变量 shell变量是指用一个特定的字符串去表示不固定的内容 1.变量的类型 1.1自定义变量 一般情况下不怎么使用环境变量,如果需要在其他文件中引入某个文件的变量则在脚本最开始的位置使用sou

      [转帖]Shell脚本中利用expect实现非交互式

      https://developer.aliyun.com/article/885723?spm=a2c6h.24874632.expert-profile.295.7c46cfe9h5DxWK 简介: expect非交互式 expect可以在脚本中完成一些交互式的操作,例如远程登录时要输入yes或者

      [转帖]shell脚本中$0 $1 $# $@ $* $? $ 的各种符号的意义

      概述 shell中有两类字符,一类是普通字符,在Shell中除了本身的字面意思外没有其他特殊意义,即普通纯文本;另一类即元字符,是Shell的保留字符,在Shell中有着特殊的含义。 今天主要介绍一下shell中字符$的各种用法。 转义字符$ 在linux shell脚本中经常用到字符 ,下面是 ,

      [转帖]shell脚本中$0 $1 $# $@ $* $? $ 的各种符号的意义

      概述 shell中有两类字符,一类是普通字符,在Shell中除了本身的字面意思外没有其他特殊意义,即普通纯文本;另一类即元字符,是Shell的保留字符,在Shell中有着特殊的含义。 今天主要介绍一下shell中字符$的各种用法。 转义字符$ 在linux shell脚本中经常用到字符 ,下面是 ,

      [转帖]shell脚本之awk命令——按列求平均值、最大值、最小值

      文章目录 写在前面awk求平均值awk求最大值awk求最小值awk求极值、均值的实际应用 写在前面 awk命令求极值和均值需要熟悉该命令的基本用法,如果你不熟悉该命令,请先阅读shell脚本之awk命令——分隔符介绍一文。本篇博文带你熟悉求平均值、最大值、最小值的方法,并以实际的应用带你进一步掌握a

      [转帖]Shell 脚本实现应用服务日志入库 Mysql

      今天给大家分享一个 shell 脚本工具,通过 shell 脚本与 mysql 的结合,将某个具体服务的错误输出日志入库到指定的 mysql 表中,以便于进行错误问题的定位与分析。 日常工作中,经常需要和 linux 系统打交道,例如:服务部署、日志和服务状态查看等,而 shell 脚本是和 lin