hell脚本 按分割符 |@|分割数据文件,其中每一行的数据类似为 A|@||@|C 并写进ORACLE数据库的指定位置
时间: 2023-08-12 21:21:44 浏览: 151
可以使用while循环和read命令读取每行数据文件中的数据,使用awk命令按照分割符 |@| 分割数据,并将结果插入到ORACLE数据库中的指定位置。具体步骤如下:
1. 使用while循环和read命令读取每行数据文件中的数据:
```
while read line
do
echo $line
done < data.txt
```
其中,data.txt为数据文件名。
2. 在循环中使用awk命令按照分割符 |@| 分割数据,并将结果插入到ORACLE数据库中的指定位置:
```
while read line
do
col1=$(echo $line | awk -F '|@|' '{print $1}')
col2=$(echo $line | awk -F '|@|' '{print $3}')
echo "INSERT INTO table_name (col1, col2) VALUES ('$col1', '$col2');" | sqlplus -S username/password@database
done < data.txt
```
其中,table_name为要插入数据的表名,col1和col2为表中的列名,username和password为连接Oracle数据库的用户名和密码,database为数据库实例名。
将以上两个命令结合起来,可以实现将数据文件中按分割符 |@| 分割的数据插入到Oracle数据库的指定位置:
```
while read line
do
col1=$(echo $line | awk -F '|@|' '{print $1}')
col2=$(echo $line | awk -F '|@|' '{print $3}')
echo "INSERT INTO table_name (col1, col2) VALUES ('$col1', '$col2');" | sqlplus -S username/password@database
done < data.txt
```
注意,这里使用了双引号将SQL语句括起来,以便将awk命令中分割后的数据插入到SQL语句中。
阅读全文