我开始写我的第一个大bash脚本,我试图解决一个问题。如何从文件中的行构建字符串,然后基于结果文件中的行创建文件?
我有一个文件:packagesList.txt
,它包含我需要通过sqlplus运行的oracle包的名称。该文件是这样的:
ORACLETASK1
ORACLETASK2
等等
的文件夹配置包含包命名的文件。他们的名字看起来是这样的:ORACLETASK1-test.txt
,ORACLETASK2-test.txt
和内容看起来完全是这样的:
ORACLETASK1FUNCTION1(PARAMETER1, PARAMETER2)
ORACLETASK1FUNCTION1(PARAMETER3, PARAMETER4)
这同样适用于在ORACLETASK2
:
ORACLETASK2FUNCTION1(PARAMETER1, PARAMETER2)
ORACLETASK2FUNCTION1(PARAMETER3, PARAMETER4)
现在 - 什么,我需要做的就是生成一个文件(中环)ORACLETASK1-run.conf
这将是这样的:
ORACLETASK1.ORACLETASK1FUNCTION1(PARAMETER1, PARAMETER2)
ORACLETASK1.ORACLETASK1FUNCTION1(PARAMETER3, PARAMETER4)
ORACLETASK2.ORACLETASK2FUNCTION1(PARAMETER1, PARAMETER2)
ORACLETASK2.ORACLETASK2FUNCTION1(PARAMETER3, PARAMETER4)
Finallz,我需要生成(在一个循环)一系列SQL文件的F或在ORACLETASK1-run.conf
文件中的每一行,将是这样的:
QUESTION UNRELATED SET AND CLEAR COMMANDS GO HERE
VARIABLE RC REFCURSOR;
和最重要的行云HERE
EXEC :RC := ORACLETASK1.ORACLETASK1FUNCTION1(PARAMETER1, PARAMETER2);
文件的其余部分
SPOOL SOME_FILE_NAME_I_DONT_KNOW_HOW_TO_NAME_IT_YET.TXT
PRINT RC;
SPOOL OFF
EXIT;
也许这问题有点普遍,但我正在寻找任何可能导致我使这个脚本工作的线索......
线索:阅读文件http://en.kioskea.net/faq/1757-how-to-read-a-file-line-by-line并操纵流中的行http://rute.2038bug.com /node11.html.gz并将输出连接到一个文件中https://www.mkssoftware.com/docs/man1/cat.1.asp – 2014-11-25 11:37:54