删除字符串直到第一次出现某个字符

Rok*_*nar 3 linux bash shell replace

有没有办法删除特定字符第一次出现之前的所有字符?

123:abc
12:cba
1234:cccc
Run Code Online (Sandbox Code Playgroud)

输出将是:

abc
cba
cccc
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 5

使用 sed:

sed 's/^[^:]*://' file
abc
cba
cccc
Run Code Online (Sandbox Code Playgroud)

或者使用 awk:

awk -F: '{print $2}' file
abc
cba
cccc
Run Code Online (Sandbox Code Playgroud)