shell脚本,将Linux服务器/data/app/shell/output/132.161.32.45路径下的upolt.txt文件同一行按照|@|为间隔导入MySQL数据库
时间: 2023-08-14 07:06:08 浏览: 156
可以使用以下的 shell 脚本来实现:
```shell
#!/bin/bash
mysql_user="your_mysql_username"
mysql_password="your_mysql_password"
mysql_database="your_mysql_database_name"
mysql_table="your_mysql_table_name"
input_file="/data/app/shell/output/132.161.32.45/upolt.txt"
# 将文件中的换行符替换成 |@|
sed -i 's/\n/|@|/g' $input_file
# 使用 awk 将每行数据按照 |@| 分割,生成 SQL 语句,并导入数据库
cat $input_file | awk -F'|@|' '{printf("INSERT INTO '$mysql_table' (col1, col2, col3) VALUES(\"%s\", \"%s\", \"%s\");\n", $1, $2, $3)}' | mysql -u $mysql_user -p$mysql_password $mysql_database
```
需要替换其中的 `your_mysql_username`、`your_mysql_password`、`your_mysql_database_name` 和 `your_mysql_table_name` 为实际的 MySQL 用户名、密码、数据库名和表名。同时需要根据实际情况修改 input_file 的路径以及生成 SQL 语句的列名和数量。
阅读全文