如何使用'cut'找到最后一个字段

新手上路,请多包涵

使用 sedawk只有 cut ,当字段数未知或每行更改时如何获取最后一个字段?

原文由 noobcoder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

你可以尝试这样的事情:

 echo 'maps.google.com' | rev | cut -d'.' -f 1 | rev

解释

  • rev 将“maps.google.com”反转为 moc.elgoog.spam
  • cut 使用点(即’.‘)作为分隔符,并选择第一个字段,即 moc
  • 最后,我们再次反转得到 com

原文由 zedfoxus 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用参数扩展。这比包括 cut (或 grep )在内的任何类型的外部命令都高效得多。

 data=foo,bar,baz,qux
last=${data##*,}

有关 bash 中本机字符串操作的介绍,请参见 BashFAQ #100

原文由 Charles Duffy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题