jenkins - 如何编写 sed 命令以仅提取“选择”查询并将输出保存到 CSV
问题描述
我需要在 jenkins 中编写一个脚本来从 sql 文件文件中提取“选择”查询,执行查询并将输出保存在 csv 文件中。但我发现第 4 行和第 5 行之间没有关系。有人可以帮忙吗合并这两个命令
dbname=$Database
echo $dbname
echo $PASS
mysql -u root -p$PASS -h alp-uk-stg.cmw7mobxvnye.eu-west-1.rds.amazonaws.com $dbname
sed '/;/G' sql | grep "SELECT" | sed -e :a -e '$!N;s/\n/~/g;ta' | tr "~" "\n"|sed "s/\"/\"\"/g;s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g">output.csv
解决方案
mysql ... | xargs sed ...
可能是您要的,但没有样本输入和预期输出,这只是猜测。
无论多个 seds+grep+tr 的管道正在做什么,都可以使用单个 awk 脚本更清晰、更健壮、更便携地完成 - 如果您需要帮助,请提出一个新问题。
最后 - 您应该将脚本复制/粘贴到http://shellcheck.net并修复它告诉您的问题,
推荐阅读
- winapi - 如何在 Windows 下查找菜单(或菜单项)的大小/位置?
- python - 样式表旋转框的字体无法调整大小
- jenkins - 如何将共享的 groovy 脚本从同一个 Git 存储库导入管道?
- sql-server - System.Data.SqlClient 将存储过程中的 SQL Server PRINT 语句与 RAISERROR 消息连接起来
- node.js - 使用 bootstrap 和 nodejs 提交表单
- java - java中如何创建私有数组并通过main方法访问?
- r - 使用 for 循环和 ifelse 语句时,返回的列中没有值变化)
- android - Flutter:gradle build failed with error "A Problem occurred evaluation root project 'android' > A problem occurred using project ':app'."
- r - 创建剥离图时的 Ggplot() 图形问题
- sql - 如何附加具有相同唯一标识符的重复记录?