我努力做到以下幾點:無法分開分號分隔行AWK
- 逐行讀取一個文件行。
- 的每一行都具有以下結構:
field1;field2;field3
- 使用
awk
到每個字段的分離,然後處理這些字段進一步
代碼段我的是:
while read l
do
n=`echo ${l} | awk --field-separator=";" '{print NF}'`
field1=`echo ${l} | awk --field-separator=";" '{print $1}'`
field2=`echo ${l} | awk --field-separator=";" '{print $2}'`
field3=`echo ${l} | awk --field-separator=";" '{print $3}'`
echo ${n} ${field1} ${field2} ${field3}
done < temp
其中temp僅包含以下行:
xx;yy;zz
我得到的命令行上的答案是:
1 xx;yy;zz
我不知道我理解這個輸出。任何解釋都會很好,因爲它可以用於其他文件。我在Mac上工作,而此代碼在bash
腳本中使用awk
。
我得到了預期的輸出:'3 xx yy zz'您正在使用哪個版本的'awk'? – hek2mgl
'awk --version'結果爲「awk version 20070501」 – Sriram
我有'GNU Awk 3.1.8'。嘗試使用'gawk 3'在機器上執行該腳本以查看它是否真的是版本問題 – hek2mgl