我想使用awk讀取格式化文件。內容如下所示:使用awk格式化讀取
1PS1 A1 1 11.197 5.497 7.783
1PS1 A1 1 11.189 5.846 7.700
.
.
.
以下的C格式,這些線是按以下格式 「%5D%5S%5S%5D%8.3f%.3f%8.3f」 其中,前5位是整數(1),接下來的5個位置是字符(PS1),接下來的5個位置是字符(A1),接下來的5個位置是整數(1),接下來的24個位置分成3列8個位置,帶有3個小數點浮點數。
我一直在用的只是用「$ 1,$ 2,$ 3」來調用這些由行分隔的行。例如,
cat test.gro | awk 'BEGIN{i=0} {MolID[i]=$1; id[i]=$2; num[i]=$3; x[i]=$4;
y[i]=$5; z[i]=$6; i++} END { ...} >test1.gro
但我遇到了一些問題,這一點,我現在想如上面所討論的格式化方式來閱讀這些文件。
任何想法如何做到這一點?
謝謝。其實,我忘了我可以用gawk使用FIELDWIDTHS選項。 – Greg 2012-03-17 18:56:00
@Greg:如果是'FIELDWIDTHS'解決了你的問題,你不應該接受格倫的答案嗎? – dmckee 2012-03-17 19:39:07
謝謝dmckee,進行更正。 – Greg 2012-03-17 21:05:26