sh 脚本执行sql文件传参数
生活随笔
收集整理的這篇文章主要介紹了
sh 脚本执行sql文件传参数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、前言
? 今天做數(shù)據(jù)刪除,用的命令行輸入?yún)?shù),并且調(diào)用執(zhí)行的sql文件,我采用了sed命令,進(jìn)行替換。
?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_臨時(shí)文件.sql cd bankseq_$bankseq db2 connect to xxxx db2 -tvf 3_insertTmp.sql -z 3_insertTmp.log db2 terminate fi;我用到sed命令s 替換指定字符、g 表示行內(nèi)全面替換。 ?生成新的文件,再執(zhí)行新的文件。執(zhí)行完成刪除新文件
二、sed命令
sed命令
a\ 在當(dāng)前行下面插入文本。 i\ 在當(dāng)前行上面插入文本。 c\ 把選定的行改為新的文本。 d 刪除,刪除選擇的行。 D 刪除模板塊的第一行。 s 替換指定字符 h 拷貝模板塊的內(nèi)容到內(nèi)存中的緩沖區(qū)。 H 追加模板塊的內(nèi)容到內(nèi)存中的緩沖區(qū)。 g 獲得內(nèi)存緩沖區(qū)的內(nèi)容,并替代當(dāng)前模板塊中的文本。 G 獲得內(nèi)存緩沖區(qū)的內(nèi)容,并追加到當(dāng)前模板塊文本的后面。 l 列表不能打印字符的清單。 n 讀取下一個(gè)輸入行,用下一個(gè)命令處理新的行而不是用第一個(gè)命令。 N 追加下一個(gè)輸入行到模板塊后面并在二者間嵌入一個(gè)新行,改變當(dāng)前行號(hào)碼。 p 打印模板塊的行。 P(大寫(xiě)) 打印模板塊的第一行。 q 退出Sed。 b lable 分支到腳本中帶有標(biāo)記的地方,如果分支不存在則分支到腳本的末尾。 r file 從file中讀行。 t label if分支,從最后一行開(kāi)始,條件一旦滿足或者T,t命令,將導(dǎo)致分支到帶有標(biāo)號(hào)的命令處,或者到腳本的末尾。 T label 錯(cuò)誤分支,從最后一行開(kāi)始,一旦發(fā)生錯(cuò)誤或者T,t命令,將導(dǎo)致分支到帶有標(biāo)號(hào)的命令處,或者到腳本的末尾。 w file 寫(xiě)并追加模板塊到file末尾。 W file 寫(xiě)并追加模板塊的第一行到file末尾。 ! 表示后面的命令對(duì)所有沒(méi)有被選定的行發(fā)生作用。 = 打印當(dāng)前行號(hào)碼。 # 把注釋擴(kuò)展到下一個(gè)換行符以前。sed替換標(biāo)記
g 表示行內(nèi)全面替換。 p 表示打印行。 w 表示把行寫(xiě)入一個(gè)文件。 x 表示互換模板塊中的文本和緩沖區(qū)中的文本。 y 表示把一個(gè)字符翻譯為另外的字符(但是不用于正則表達(dá)式) \1 子串匹配標(biāo)記 & 已匹配字符串標(biāo)記?
轉(zhuǎn)載于:https://www.cnblogs.com/steven520213/p/8521978.html
總結(jié)
以上是生活随笔為你收集整理的sh 脚本执行sql文件传参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python基础-List找重复数
- 下一篇: 内联元素空隙问题