将每行的第一部分剥离到冒号

use*_*470 1 linux grep sed awk

所以我有一个文本文件,我想将其中的所有内容删除到第一个冒号(包括冒号)。例如,如果这是输入

0000007ba9ec6950086ce79a8f3a389db4235830:9515rfsvk
000000da2a12da3fbe01a95bddb8ee183c62b94d:letmein2x
000000edf3179a1cf4c354471a897ab7f420bd52:heychudi:rbhai
000000f636f0d7cbc963a62f3a1bc87c9c985a04:cornetti
0000010a15f5b9315ef8e113f139fa413d1f2eb2:3648067PY128
Run Code Online (Sandbox Code Playgroud)

那么这应该是输出

9515rfsvk
letmein2x
heychudi:rbhai
cornetti
3648067PY128
Run Code Online (Sandbox Code Playgroud)

请注意,第 3 行中的第二个冒号保留,仅从每行开头到(包括)第一列应删除。

有没有一种快速的方法可以用 grep 或 awk 来做到这一点?

tha*_*isp 15

cut

cut -d: -f2- file
Run Code Online (Sandbox Code Playgroud)

-d设置-f2-从第二个字段到最后一个字段的分隔符和意思。


Nic*_*ckD 10

使用 sed:

sed 's/[^:]*://' input.txt
Run Code Online (Sandbox Code Playgroud)

用词:匹配零个或多个非冒号字符的序列,后跟一个冒号,并用空替换它们。