Shell 替换脚本:*;用逗号

Shell script for replacing :*; with a comma

我有一些 css 颜色变量看起来像这样:

--state-success-text:        #3c763d;
--state-success-background:  #dff0d8;

我想用逗号替换十六进制颜色代码。所以换句话说,我想要一个逗号分隔的颜色变量列表,如下所示:

state-success-text, state-success-background, ...

关于如何编写执行此操作的 bash 脚本的想法?

非常简单awk(1)解决方案:

awk 'BEGIN {FS=":"; ORS=", "}; { print  }' input

你快到了,

sed 's/--\(.*\):.*;/, /'

应该做的。当你做:*;时,该列会扩大几次,添加一个.将意味着任何字符。

编辑:修改后还删除了 --

这是另一种方法,最后一个条目后没有逗号

cut -d: -f1 file | paste -sd,