如何变量以在 unix 中为 -f 选项剪切命令
How to variables to cut command in unix for -f option
我需要解析一个 sql
文件并提取所有语句。
例如sample.sql
是这样的
alter table add column(c1 varchar(20));
alter table add column(c2 varchar2(10));
现在我想用下面的方式写一个脚本。
#!/bin/ksh
for file in sample.sql
do
echo $file
no_of_statement=`grep ";" $file|wc -l`
echo $no_of_statement
iterator=1
statement=""
while [ $iterator -le $no_of_statement]
do
echo "Inside While Loop"
statement=`cat $file`
statement1=`echo $statement | cut -d";" -f "${iterator}"`
echo $statement1
iterator=$iterator+1
done
done
如果您将 [ $iterator -le $no_of_statement]
更改为 [ $iterator -le $no_of_statement ]
和
iterator=$iterator+1
到 iterator=$(($iterator+1))
它打印查询:
sample.sql
2
Inside While Loop
alter table add column(c1 varchar(20))
Inside While Loop
alter table add column(c2 varchar2(10))
我需要解析一个 sql
文件并提取所有语句。
例如sample.sql
是这样的
alter table add column(c1 varchar(20));
alter table add column(c2 varchar2(10));
现在我想用下面的方式写一个脚本。
#!/bin/ksh
for file in sample.sql
do
echo $file
no_of_statement=`grep ";" $file|wc -l`
echo $no_of_statement
iterator=1
statement=""
while [ $iterator -le $no_of_statement]
do
echo "Inside While Loop"
statement=`cat $file`
statement1=`echo $statement | cut -d";" -f "${iterator}"`
echo $statement1
iterator=$iterator+1
done
done
如果您将 [ $iterator -le $no_of_statement]
更改为 [ $iterator -le $no_of_statement ]
和
iterator=$iterator+1
到 iterator=$(($iterator+1))
它打印查询:
sample.sql
2
Inside While Loop
alter table add column(c1 varchar(20))
Inside While Loop
alter table add column(c2 varchar2(10))