这里有一个jq
解决方案:
jq -cR '. | gsub("^ +| +$"; "") | split(" *, *"; "")' <<< "TAG1,TAG2"
["TAG1","TAG2"]
jq -cR '. | gsub("^ +| +$"; "") | split(" *, *"; "")' <<< "TAG1, TAG2"
["TAG1","TAG2"]
jq -cR '. | gsub("^ +| +$"; "") | split(" *, *"; "")' <<< " TAG1, TAG2 "
["TAG1","TAG2"]
PS: Remove -c
如果你想要漂亮json
output.
您还可以使用awk
:
cat comma.csv
BEGIN {
FS = " *, *"
OFS=", "
}
{
for (i=1; i<=NF; i++) {
gsub(/^ *| *$/, "", $i)
$i = "\"" $i "\""
}
print "[ " $0 " ]"
}
并将其用作:
awk -f comma.csv <<< "TAG1, TAG2"
[ "TAG1", "TAG2" ]
awk -f comma.csv <<< "TAG1,TAG2"
[ "TAG1", "TAG2" ]
awk -f comma.csv <<< " TAG1, TAG2 "
[ "TAG1", "TAG2" ]
sed
解决方案:
sed 's/^ */[ "/; s/ *$/" ]/; s/ *, */", "/g' <<< " TAG1, TAG2 "
[ "TAG1", "TAG2" ]
sed 's/^ */[ "/; s/ *$/" ]/; s/ *, */", "/g' <<< "TAG1,TAG2"
[ "TAG1", "TAG2" ]
sed 's/^ */[ "/; s/ *$/" ]/; s/ *, */", "/g' <<< "TAG1 , TAG2"
[ "TAG1", "TAG2" ]