gpt4 book ai didi

mysql - 通过 -find -exec 将 SQL 管道传输到 mysql

转载 作者:行者123 更新时间:2023-11-29 07:15:38 25 4
gpt4 key购买 nike

我这辈子都做不到。失败的例子,最后一行加入了sed,这是最终的目标:

find -maxdepth 1 -name "*.sql" -exec "mysql -D ootp < {}" \;
find -maxdepth 1 -name "*.sql" -exec "mysql -D ootp << {}" \;
find . -maxdepth 1 -name \"*.sql\" -exec /usr/bin/mysql -D ootp << sed -e 's/ , );/1,1);/g' {}

什么给了?

最佳答案

我将以上所有内容重写为以下变体之一:

find -maxdepth 1 -name '*.sql' -exec sed -e 's/ , );/1,1);/g' '{}' +     \    | mysql -D ootpfind -maxdepth 1 -name '*.sql' -print0 \;                                \    | xargs -0 sed -e 's/ , );/1,1);/g'                                  \    | mysql -D ootpfind -maxdepth 1 -name '*.sql' -exec cat '{}' \;                         \    | sed -e 's/ , );/1,1);/g'                                           \    | mysql -D ootpfind -maxdepth 1 -name '*.sql' -exec sed -e 's/ , );/1,1);/g' '{}' \;    \    | mysql -D ootp

第一个变体需要 GNU findutils 4.2.12、SRV4 派生的 find 或其他一些 POSIX 兼容的 find 并且应该是最有效的,但可能无法工作在所有 find 实现中(值得注意的是,我相信 BSD find 缺少该功能)。

关于mysql - 通过 -find -exec 将 SQL 管道传输到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376055/

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