Bash shell使用awk获取子字符串
我有一些像绳子一样的东西 1000 AS3459329RICWDSRSYHSD11-2-IPAAPEK-93/ifshk5/BC59329IP/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/PROJECT/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获得AS3459329Bash shell使用awk获取子字符串,bash,shell,Bash,Shell,我有一些像绳子一样的东西 1000 AS3459329RICWDSRSYHSD11-2-IPAAPEK-93/ifshk5/BC59329IP/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
dirname= echo "$myline" | awk -F ' ' '{print $2}'
但是它不能工作。awk的默认定界符是任意数量的空白。因此,不需要指定带空格的分隔符,除非您的分隔符正好是示例中的4个空格。此外,您还需要一点:
因为您的字符串已经用空格分隔,所以不需要指定-F。只需使用awk“{print$2}”
dirname=$(echo "$myline" | awk '{ print $2 }')