Linux

將每行的第一部分剝離到冒號

  • October 11, 2020

所以我有一個文本文件,我想刪除第一個冒號(包括冒號)的所有內容。例如,如果這是輸入

0000007ba9ec6950086ce79a8f3a389db4235830:9515rfsvk
000000da2a12da3fbe01a95bddb8ee183c62b94d:letmein2x
000000edf3179a1cf4c354471a897ab7f420bd52:heychudi:rbhai
000000f636f0d7cbc963a62f3a1bc87c9c985a04:cornetti
0000010a15f5b9315ef8e113f139fa413d1f2eb2:3648067PY128

那麼這應該是輸出

9515rfsvk
letmein2x
heychudi:rbhai
cornetti
3648067PY128

請注意,保留第 3 行中的第二個冒號,僅應刪除從每行開頭到(包括)第一列的部分。

有沒有使用 grep 或 awk 的快速方法?

cut

cut -d: -f2- file

-d設置分隔符並-f2-表示從第二個到最後一個欄位。

使用 sed:

sed 's/[^:]*://' input.txt

在單詞中:匹配零個或多個非冒號字元的序列,後跟一個冒號,並將它們替換為空。

引用自:https://unix.stackexchange.com/questions/613793