Funktioniert wie gewünscht:
echo "A,B,C" | sed s/,/\',\'/g
Meine Version mit Variablen in einem Bash-Skript:
Suchen Sie alle Backslashes und ersetzen Sie sie durch Schrägstriche:
input="This has a backslash \\"
output=$(echo "$input" | sed 's,\\,/,g')
echo "$output"
Sie haben einen Konflikt mit einfachen Anführungszeichen, also verwenden Sie:
echo "A,B,C" | sed "s/,/','/g"
Wenn Sie Bash verwenden, können Sie dies auch tun (<<<
ist ein here-string
):
sed "s/,/','/g" <<< "A,B,C"
aber nicht
sed "s/,/','/g" "A,B,C"
weil sed
erwartet Datei(en) als Argument(e)
BEARBEITEN :
wenn Sie ksh oder andere verwenden:
echo string | sed ...