2016-01-14 3 views
0

я запускаю эту команду в Cygwin: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), поэтому, если я добавил E, в Result1, хвостовая часть отсутствует ?, я имею в виду 0.05 для первой линии.

2), как получить поездку с «E» в result2, если я хочу импортировать данные в EXCEL, например.

это файл 'README.txt':


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

ответ

0

Я обнаружил, что это только потому, что я только напечатал первые 8 полей! Если бы я добавил E, есть 9 полей. Это не ошибка ре-выражения, это моя вина.