【发布时间】:2014-07-29 18:12:54
【问题描述】:
我有一个文件 data.txt,其中有 200 列和行(方阵)。因此,我一直在尝试将我的文件拆分为 200 个文件,然后每个文件都包含大数据文件中的一列。这些是我两次尝试使用 cut 和 awk 的地方,但是我不明白为什么不起作用。
NM=`awk 'NR==1{print NF-2}' < file.txt`
echo $NM
for (( i=1; i = $NM; i++ ))
do
echo $i
cut -f ${i} file.txt > tmpgrid_0${i}.dat
#awk '{print '$i'}' file.txt > tmpgrid_0${i}.dat
done
有什么建议吗?
编辑:非常感谢你们所有人。所有答案都是有效的,但我不能对所有答案都投票。
【问题讨论】:
-
可能是
for... i<=$NM -
还有
awk '{print $'$i'}' file.txt -
而
NM=$(awk 'NR==1{print NF-2}' file.txt)没有重定向,因为 awk 无论如何都会将参数作为文件读取,并且还使用 $() 代替劣质的反引号。