it-swarm-ja.com

コロンの後に文字を印刷する

コロンの後に何かを印刷するにはどうすればよいですか?

入力:

color:white,name:green

:の後に何かを印刷したいのですが

出力:

white,green

単純sedアプローチ(入力は非常に単純ですが):

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

出力:

white,green
5
RomanPerekhrest

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
0
Thor