我想删除每个值周围的方括号 [] 和引号,并在开始和结束处添加引号。
X = ['8922','9292','3220']
我想要如下输出。
Y = '8922,9292,3220'
我怎样才能做到这一点。请建议。
答案1
就这么简单:将左括号和引号替换为单引号,将引号之间的逗号替换为逗号,并将右括号上的引号再次替换为单引号:
sed "s/\['/'/;s/','/,/g;s/']/'/" file
诀窍通常是找到图案的独特之处。
答案2
假设您有一个 shell 变量X
,其值设置如下:
X="['8922','9292','3220']"
然后,您可以使用 删除单引号和方括号tr
。您也可以同时插入新的单引号:
Y="'$( printf '%s' "$X" | tr -d "[]'" )'"
如果您使用bash
or zsh
,您可以以稍微更紧凑的方式执行此操作:
Y="'${X//[][\']/}'"