小编Roy*_*Roy的帖子

删除postgres中共享相同前缀的所有表

我想使用一个sql命令/查询从同一个数据库中删除所有共享相同前缀('supenh_agk')的表.

sql postgresql dynamic-sql plpgsql

16
推荐指数
2
解决办法
1万
查看次数

perl system()命令中的字符串替换

以下命令和问题仅仅是为了弄清楚正确的语法,所以请不要寻求它背后的任何深层目的,而是如果你知道正确的语法,这将对我有很大的帮助.

我有以下内容:*在这里使用perl -e来模仿调用system()命令以执行unix命令的perl文件.

perl -e '$i="file.bed"; system("j=$i; echo ${i} ;echo \${j}; echo \${j%.*};")';
Run Code Online (Sandbox Code Playgroud)

这个命令很好地输出:

file.bed
file.bed
file
Run Code Online (Sandbox Code Playgroud)

我想添加另一个回声,将后缀".bed"替换为后缀".bam"我尝试过:

perl -e '$i="file.bed"; system("j=$i; echo ${i} ;echo \${j}; echo \${j%.*}; echo \${j/.bed/.bam}")';
Run Code Online (Sandbox Code Playgroud)

但我得到:

file.bed
file.bed
file
sh: 1: Bad substitution
Run Code Online (Sandbox Code Playgroud)

同样的:

perl -e '$i="file.bed"; system("j=$i; echo ${i} ;echo \${j}; echo \${j%.*}; echo \${j\/.bed\/.bam}")';
Run Code Online (Sandbox Code Playgroud)

因此,由于某种原因,后缀删除[%.*]在system()中工作正常,但{//}替换失败.

有任何想法吗?

perl system

0
推荐指数
1
解决办法
101
查看次数

标签 统计

dynamic-sql ×1

perl ×1

plpgsql ×1

postgresql ×1

sql ×1

system ×1