【问题标题】:Bash shell: extract substring print at the end of the lineBash shell:在行尾提取子字符串打印
【发布时间】:2013-10-21 12:21:13
【问题描述】:

我有一个带有制表符分隔字段的文件(其中 6 个)。这些字段之一是字符串(字段 3)。我需要提取一个子字符串并将其写在每个字符串末尾的制表符之后(位置 11)。我怎么做?分隔符是符号/,总是有3个,我需要提取第二个之后和第三个之前的内容(例如http://www.host.com/)。

2       65      gf/jyhfkhjf/fg  0.5     657     hs
6745    6       lug/hgf/hgd     87      56      kg

我想要的输出:

2       65      gf/jyhfkhjf/fg  0.5     657     hs      jyhfkhjf
6745    6       lug/hgf/hgd     87      56      kg      hgf

我尝试了 awk 来完成我的部分工作,假设我只有一个带字符串的字段。

awk -F/ '{print $3}'

【问题讨论】:

  • 谢谢,埃德!它对我有用!

标签: bash awk substring


【解决方案1】:
$ awk 'BEGIN{FS=OFS="\t"} {split($3,t,"/"); print $0, t[2]}' file
2       65      gf/jyhfkhjf/fg  0.5     657     hs      jyhfkhjf
6745    6       lug/hgf/hgd     87      56      kg      hgf

【讨论】:

    猜你喜欢
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多