我正在尝试使用 bash 脚本从冒号分隔的文件中输入并将这些值插入到 mysql 数据库中。到目前为止,我能够适当地剪切这些并将它们打印出来,但我不知道如何在每次剪切时操作数据。
IE。
cut -d: -f1 input.txt | \
while read firstVal;
do
echo firstVal;
done
由此看来,我可以放置一个 mysql 插入行来代替我回显名称的位置,以实现我想要做的事情。所以我可以通过用 f2 替换 f1 来对第二个值做同样的事情,但我不知道如何同时使用多个值,然后插入 f1、f2、f3 等。有什么想法吗?
为什么不使用更...健壮的脚本语言?(PHP,蟒蛇等)
产生:
awk 使用 -F 标志来设置分隔符。用于增值的单引号是通过包含
\'
在一组它自己的单引号中来实现的。(你可以在这里阅读魔法:https ://stackoverflow.com/questions/9899001/how-to-escape-single-quote-in-awk-inside-printf )但最终导致:'\''
把它拉在一起
variable
echo "$variable; " | mysql -u username -pPASSWORDHERE databaseName
您必须建立连接并为每一行运行查询。如果这是一个问题,您可以想象
;
分隔插入命令列表,将它们全部组合并在一个连接中运行它们(IE:一次调用 mysql 命令)如果可用,我建议使用 phpmyadmin 的导入 CSV 功能,它包括更改分隔符等的功能。