gpt4 book ai didi

mysql - 如何将 CUT 命令的输出变量通过管道传递给另一个命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:26 26 4
gpt4 key购买 nike

我想做这样的事情:

cat files_list | cut -d' ' -f1,3 | mysql -uroot -pxxxx -e "insert into table(var1, var2) values($f1,$f2)"

我怎样才能做到这一点?

最佳答案

您可以使用以下 bash 脚本:

while read -a record ; do 
mysql -uroot -pxxxx -e "insert into table(var1, var2) values(${record[0]}, ${record[2]})"
done < files_list

然而,这很简单,但性能不是很好。

如果任务对性能至关重要,我会只构建一个 mysql 查询,一次插入所有行,或者更好:使用 LOAD_DATA_INFILE

另请注意,如果任务对安全性至关重要,即输入数据来自不受信任的来源,我根本不会使用命令行 mysql 客户端。使用支持 mysql 准备语句的编程语言(如 PHP)将是可行的方法。

使用编程语言还有另一个重要的优势 - 您不需要通过不安全的命令行传递密码。

关于mysql - 如何将 CUT 命令的输出变量通过管道传递给另一个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24570934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com