cygwin gawk得到了奇怪的结果

时间:2016-01-14 02:17:27

标签: bash cygwin gawk

我在cygwin中运行此命令:

$ gawk 'BEGIN{FS="[NDMmS E]";}{print $1,$2,$3,$4,$5,$6,$7,$8}' README.txt

我得到了这个(假设这是result1):

1               1290             037 35 38.6     105 10
2               1273             037 34 55.9     105 08
3               1353             037 39 46.8     105 12
4               1306             037 38 23               105 21
5               1314             037 40 08               105 22
6               1270             037 34 52               105 22
... omitted....

如果我删除E部分之间的FS=[ ],请执行以下操作:

$ gawk 'BEGIN{FS="[NDMmS ]";}{print $1,$2,$3,$4,$5,$6,$7,$8}' README.txt

我得到了(result2):

1               1290             037 35 38.6    E105 10 0.05
2               1273             037 34 55.9    E105 08 13.9
3               1353             037 39 46.8    E105 12 15.17

我的问题是:

1),为什么如果我在result1中添加E,尾部缺失?,我的意思是第一行0.05

2),如果我想将数据导入EXCEL,如何在result2中脱离'E'。

这是'README.txt'文件:

1       1290m       N037D35M38.6S   E105D10M0.05S
2       1273m       N037D34M55.9S   E105D08M13.9S
3       1353m       N037D39M46.8S   E105D12M15.17S
....

1 个答案:

答案 0 :(得分:0)

我发现这只是因为我只打印了前8个字段!如果我添加E,则有9个字段。这不是重新表达的错,这是我的错。

相关问题