Bash shell:在行尾提取子串打印

时间:2013-10-13 23:59:40

标签: bash awk substring

我有一个带有制表符分隔字段的文件(其中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}'

1 个答案:

答案 0 :(得分:2)

$ 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