変数があります。
local= "[ 'service center','New' ]"
次のawkコードを使用して、角かっこと一重引用符を削除しています。
local=gensub(/[\[\]']+/, "", "g", local);
予想されるO / Pは次のとおりです。
local =" service center,New "
私が書いたコードはうまくいきません
ベストアンサー1
カンマを句読点以外の文字に置き換え、残りの句読点文字を削除してカンマを復元できます。
awk -v local="[ 'service center','New' ]" '
BEGIN {
gsub(/,/, SUBSEP, local)
gsub(/[[:punct:]]/, "", local)
gsub(SUBSEP, ",", local)
printf("local=\"%s\"\n", local)
}'
local=" service center,New "
ここでは、次の組み込みSUBSEP変数を使用しています。GNU awk マニュアルしたがって:
デフォルトは、awkプログラムまたはほとんどの入力データに表示される可能性のない印刷されない文字を含む
SUBSEP
文字列です。"\034"