shell使用awk获取子字符串

时间:2013-02-05 02:48:18

标签: bash shell

我有一些像

这样的字符串

1000 AS34_59329 RICwdsRSYHSD11-2-IPAAPEK-93 / ifshk5 / BC_IP / PROJECT / T1 1073 / T11073_RICekkR / Fq中/ AS34_59329 / 111220_I631_FCC0E5EACXX_L4_RICwdsRSYHSD11-2-IP AAPEK-93_1.fq.gz / ifshk5 / BC_IP / PROJECT / T11073 / T11073_RICekkR / Fq / AS34_5932 9 / 111220_I631_FCC0E5EACXX_L4_RICwdsRSYHSD11-2-IPAAPEK-93_2.fq.gz / ifshk5 / BC_IP /项目/ T11073 / T11073_RICekkR / Fq中/ AS34_59329 / clean_111220_I631_FCC0E5EACXX_ L4_RICwdsRSYHSD11-2-IPAAPEK-93_1.fq.gz.total.info 11.824 0.981393 43.8283 95.7401确定

我打算用awk来获取AS34_59329

 dirname= echo "$myline" | awk -F '    ' '{print $2}'

但它不起作用。

2 个答案:

答案 0 :(得分:0)

awk的默认分隔符是任意数量的空格。因此,不需要使用空格指定分隔符(除非您的分隔符恰好是4个空格,如示例所示)。此外,您还需要一点command substitution

dirname=$(echo "$myline" | awk '{ print $2 }')

答案 1 :(得分:0)

由于您的字符串已经以空格分隔,因此无需指定-F。试试awk '{print $2}'