1

私はいくつかの文字列を持っています

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/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 OK

AS34_59329を取得するためにawkを使用する予定です

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

しかし、それは機能しません。

4

2 に答える 2

0

文字列はすでに空白で区切られているため、指定する必要はありません-F。ただ試してみてくださいawk '{print $2}'

于 2013-02-05T02:57:58.213 に答える
0

awk のデフォルトの区切り文字は、任意の量の空白です。したがって、区切り文字を空白で指定する必要はありません (例のように区切り文字が正確に 4 つのスペースでない限り)。また、ちょっとしたコマンド置換が必要です:

dirname=$(echo "$myline" | awk '{ print $2 }')
于 2013-02-05T02:52:01.570 に答える