在冒号后打印字符

在冒号后打印字符

如何在冒号后打印任何内容?

输入:

color:white,name:green

所以我想在之后打印任何东西:

输出:

white,green

答案1

简单的sed方法(虽然您的输入非常简单):

sed 's/[^,:]*://g' file

输出:

white,green

答案2

您还可以通过以下方式执行此操作grep

GNU grep

grep -oP '(?<=:)\w+'

便携式 grep

grep -o ':[a-z]\+' | tr -d :

两种情况下的输出

white
green

关于输出的注意事项

如果您希望输出为逗号分隔列表,请通过管道传输到paste,例如:

grep -o ':[a-z]\+' | tr -d : | paste -sd, -

输出:

white,green

答案3

使用 awk

awk -F':' '{print $2}'

相关内容