将 Eseva+one, virussa, ... 变成 Eseva-one, virussa,

SED expression for turning Yeseva+one, Yrsa, ... into yeseva-one, yrsa,

我有一个逗号分隔的字体列表,如下所示:

Yeseva+one, Yrsa, ...

我需要一个 SED 表达式或类似的表达式来将 + 变成破折号并将所有大写字母小写。

更新

只是想感谢您提供的所有帮助,如果有人需要 google 字体作为 CSS 变量/属性,它们都可以在这里获得(麻省理工学院许可证): https://github.com/superfly-css/superfly-css-variables-fonts/blob/master/src/main/css/index.css

我还将在此处提供使用 google 字体的实用程序: https://github.com/superfly-css/superfly-css-utilities-fonts

与Bash:

a="Yeseva+One, Yrsa, Courier+New, Alegreya+Sans+SC" ; a="${a,,}";a="${a//+/-}";echo "$a"
#Output
yeseva-one, yrsa, courier-new, alegreya-sans-sc

使用 Sed

b="Yeseva+One, Yrsa, Courier+New, Alegreya+Sans+SC"
sed 's/.*/\L&/g; s/+/-/g' <<<"$b"
#Output
yeseva-one, yrsa, courier-new, alegreya-sans-sc