【问题标题】:Awk equivalent of MySQL's substring_index相当于 MySQL 的 substring_index 的 awk
【发布时间】:2012-08-17 00:40:48
【问题描述】:

我有带分隔字段的字符串,但每个字符串的字段数量不同,例如:

  • 这个/那个
  • 这个/那个/另一个
  • this/that/theother/stuff

我想在每种情况下检索最后两个字段,即:

  • 这个/那个
  • 那个/那个
  • 其他/东西

这在 MySQL 中使用 substring_index 函数很容易,我看到 this thread 解释了如何在 PHP 中执行此操作。

有人可以帮助我在命令行中使用 awk 实现同样的效果吗?谢谢

【问题讨论】:

  • awk 有什么特别的原因吗? sed "s,.*/\([^/]*/[^/]*\),\\1,"
  • 或更短的 GNU sed 变体:sed -r 's,.*/([^/]*/){2},\1,'
  • 不,只是我之前发现 awk 有帮助 - 谢谢,sed 也很棒

标签: awk


【解决方案1】:
echo 'this/that/theother/stuff' | awk -F/ '{print $(NF-1) "/" $(NF)}'

【讨论】:

    猜你喜欢
    • 2011-10-16
    • 2013-07-23
    • 2014-07-14
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2011-06-26
    • 2012-02-21
    • 2017-10-23
    相关资源
    最近更新 更多