使用'cut'打印最后一个字段

时间:2012-05-26 03:13:10

标签: shell unix field cut

假设我有以下数据:

ae722d1d94dcd3b161af166936:!]z@.:123
09338b2b29919e6c0daefbcce0361335:21f2e48d86f28ab7cd5c9c95:123
$H$92Gh.gRJwECLPzkjACPihoLg/:123
c6f1cb5f1feeece60f9a8e067e0:v4Zz'Cj5_Ze{J+iRW{2z,<~:123
202cb962a75b964b07152d234b70:123
40bd0015630c35165329ea5ecbdbbeef:123

(Invaild哈希,仅用于解释目的)

我想在打印最后一个字段时使用cut工具。

123
123
123
123
123
123
  • 我不想使用rev命令。
  • 我除了 cut 之外什么也不需要,我知道如何在sedawk中完成。

--complement标志可能有帮助!

2 个答案:

答案 0 :(得分:4)

对于该特定数据,您可以:

cut -f2- -d: file | cut -f2 -d:

如果你有三个冒号:

cut -f2- -d: file | cut -f2- -d: | cut -f2 -d:

您可以根据需要继续添加更多cut

诀窍是cut对没有分隔符的记录没有任何作用,所以你可以使用连续的cut来切断第一个字段,同时留下你最后的字段已经独自找到了。

答案 1 :(得分:4)

当我在寻找这个答案时,我在另一个地方看到了这个。

rev,cut(on delimiter)-f 1,rev

向前移动最后一个字段,将其剪切并移回

我认为那有点光滑