gpt4 book ai didi

regex - 在unix上使用命令行修改sql文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:55 26 4
gpt4 key购买 nike

我有一个 .sql 文件需要稍微调整一下,特别是:

[xx_blah]

像上面的任何模式都需要更改为:

[废话]

即删除 xx_prefix 和大写下一个字符。

有什么建议吗?

最佳答案

简单的 blah 替换:

$ sed -e 's/\[[^]]*_blah]/[Blah]/g' old.sql > new.sql

更一般的:

$ perl -pe 's/\[[^]_]+_(.+?)]/[\u$1]/g' old.sql > new.sql

将前缀与 [^]_]+ 而不是 .+ 匹配的原因是正则表达式量词是贪婪的。例如,后者在给定 [xx_blah][xx_blah] 作为输入时会尽可能多地吞噬并匹配 xx_blah][xx,而不是您想要的。排除右括号和下划线是一个安全停止。

替换中的 \uescape sequence将后面的字母大写。

如果您更喜欢 sed 并且您的眼睛不会被所有反斜杠所吸引,请使用

$ sed -e 's/\[[^]_]\+_\(.\+\?\)]/[\u\1]/g' old.sql > new.sql

关于regex - 在unix上使用命令行修改sql文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803780/

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