一、前言

今天做数据删除,用的命令行输入参数,并且调用执行的sql文件,我采用了sed命令,进行替换。

sh脚本如下

#! /bin/sh
echo "Please enter the bankseq \c"
read bankseq
echo "do you confirm enter the bankseq Y/N : " ;
read result ;
if [ "Y" = ${result} -o "y" = ${result} ]
then
if [ -d $bankseq ]
thenecho "bankseq is $bankseq"
elsemkdir bankseq_$bankseqecho "mkdir $bankseq completed"
fi;
sed s/?/$bankseq/g 3_insertTmp.sql >bankseq_$bankseq/3_insertTmp_临时文件.sql
cd bankseq_$bankseq
db2 connect to xxxx
db2 -tvf 3_insertTmp.sql -z 3_insertTmp.log
db2 terminate
fi;

我用到sed命令s 替换指定字符、g 表示行内全面替换。  生成新的文件,再执行新的文件。执行完成删除新文件

二、sed命令

sed命令

a\ 在当前行下面插入文本。
i\ 在当前行上面插入文本。
c\ 把选定的行改为新的文本。
d 删除,删除选择的行。
D 删除模板块的第一行。
s 替换指定字符
h 拷贝模板块的内容到内存中的缓冲区。
H 追加模板块的内容到内存中的缓冲区。
g 获得内存缓冲区的内容,并替代当前模板块中的文本。
G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。
l 列表不能打印字符的清单。
n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
p 打印模板块的行。
P(大写) 打印模板块的第一行。
q 退出Sed。
b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
r file 从file中读行。
t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
w file 写并追加模板块到file末尾。
W file 写并追加模板块的第一行到file末尾。
! 表示后面的命令对所有没有被选定的行发生作用。
= 打印当前行号码。
# 把注释扩展到下一个换行符以前。  

sed替换标记

g 表示行内全面替换。
p 表示打印行。
w 表示把行写入一个文件。
x 表示互换模板块中的文本和缓冲区中的文本。
y 表示把一个字符翻译为另外的字符(但是不用于正则表达式)
\1 子串匹配标记
& 已匹配字符串标记

转载于:https://www.cnblogs.com/steven520213/p/8521978.html

sh 脚本执行sql文件传参数相关推荐

  1. sh执行文件 参数传递_sh 脚本执行sql文件传参数

    一.前言 今天做数据删除,用的命令行输入参数,并且调用执行的sql文件,我采用了sed命令,进行替换. sh脚本如下 #! /bin/sh echo "Please enter the ba ...

  2. 服务器脚本执行sql文件命令行,sh命令执行sql脚本

    sh命令执行sql脚本 内容精选 换一换 GAUSS-51400 : "Failed to execute the command: %s."SQLSTATE: 无错误原因: 执行 ...

  3. linux脚本执行SQL文件创建表,shell脚本执行sql文件chrome安装

    "参数8:表示"ForAppending:打开文件并从文件末尾开始写" 'Txt.ReadLine'读取一整行 'Txt.Read(7)'读取指定数量字符 'Txt.Re ...

  4. sql 后台运行远程服务器,在SQLServer中通过.NET远程的执行SQL文件

    在项目开发过程中,操作数据库的过程中经常会遇到对表结构.存储过程等进行修改,这时一般的操作都是通过直接在SQL Server中的企业管理器进行操作,或者查询分析器里来执行相关的语句,而我们在实际应用中 ...

  5. sql linux 160天,Ubuntu下用脚本执行sql语句(sqlite)

    这里将告诉您Ubuntu下用脚本执行sql语句(sqlite),具体操作过程: 1.环境准备,安装sqlite3软件 sudo apt-get install sqlite3 2.编写sql执行脚本( ...

  6. centos上自动执行脚本执行php文件

    centos上自动执行脚本执行php文件 1 先编写执行PHP文件的脚本 vi php.sh #!/bin/sh /usr/bin/php /etc/1.php 2把php.sh添加到自动执行任务中 ...

  7. 9. docker 容器执行sql文件

    一.docker容器内执行sql,步骤如下 1)将sql文件上传到容器内 docker cp /usr/local/test.sql 02fc:/usr/local 说明:将Linux上指定位置tes ...

  8. ROS学习笔记-roslaunch文件的编写用sh脚本控制launch文件启动顺序

    转载自:https://mp.weixin.qq.com/s?__biz=MzUyMTkxODQyOQ==&mid=2247484719&idx=1&sn=27b3a01c29 ...

  9. Linux shell脚本执行SQL

    Linux shell脚本执行SQL 1. 创建.sh文件:[root@user]# mkdir /shell.sh (创建到当前所在目录pwd查看目录) 2. 编辑shell.sh文件:[root@ ...

最新文章

  1. 自己启动spark集群的实验记录
  2. with open新创建的文件在哪找_Python 简明教程——24,Python 文件读写
  3. SAP云平台上的502 Bad Gateway错误
  4. netdev: dev_watchdog timer(结合stmmac 分析)
  5. html:(34):下划线和删除线
  6. mysql workbench中文设置_使用Workbench完成流体压力渗透分析
  7. 帧同步和状态同步(二)案例分析
  8. K8S精华问答 | Kubernetes集群常见问题
  9. Unity的camera组件
  10. OpenCV检验物体尺寸
  11. 【ambari】Ambari Rest api 使用
  12. 1024程序员节开源技术英雄会 参会“英雄榜”发榜
  13. css标准流/非标准流 盒子模型
  14. 20165221 JAVA第四周学习心得
  15. coldplay 全集下载
  16. python操作word文档,合并
  17. 学习语言的方法,你了解几种?
  18. 大型网站技术架构+核心原理与案例分析+李智慧
  19. Cadence OrCAD Capture 原理图设计过程产生的文件总结与说明
  20. 如何打造有特色的在线教育培训平台

热门文章

  1. Mina集成Spring --- 在配置文件中配置sessionconfig
  2. 客户端网络pomelo学习笔记 (3) node.js 与 c 客户端 Diffie-Hellman 密钥交换算法的实现客户端网络...
  3. CCNA第二学期中文final
  4. kafka中的groupid
  5. coding pages绑定freenom.com域名
  6. scala中_+_的意思
  7. 第六章插图以及代码文件和插图之间的对应关系
  8. Weka的-3.6.10的C4.5与Quinlan教授的C4.5算法的区别
  9. 大话数据结构07 :链表栈
  10. 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll