Я пытаюсь преобразовать большое количество файлов из простого текстового макета в CSV. Первые несколько строк одного из файлов выглядят так:
SLICE AT X= -0.25
ELEM NO XI-COORD INWARD-NORMAL
1 0 0.000 0.000 0.000 0.000 0.000 0.000
2 0 0.000 0.000 0.000 0.000 0.000 0.000
3 0 0.000 0.000 0.000 0.000 0.000 0.000
Число, указанное в первой строке (-0,25), необходимо вставить в качестве параметра в каждую из строк данных. Поскольку это число варьируется в каждом из сотен файлов, я не могу предоставить его как литерал.
Я написал следующую программу sed:
# Reduce line 1 to just a number.
s/SLICE AT X= //
# Store line 1 in hold space.
1h
# Clear the other header line.
2d
# Insert X coordinate from hold space.
/^\ \{1,\}/G
# Separate values with commas.
s/\ \{1,\}/,/g
Достигается настолько, чтобы производить это:
-0.25
,1,0,0.000,0.000,0.000,0.000,0.000,0.000
-0.25
,2,0,0.000,0.000,0.000,0.000,0.000,0.000
-0.25
,3,0,0.000,0.000,0.000,0.000,0.000,0.000
-0.25
,4,0,0.000,0.000,0.000,0.000,0.000,0.000
-0.25
Обратите внимание, что первая строка вывода является исходной первой строкой.
Может ли кто-нибудь помочь мне вставить вставленный номер в начало каждой строки?
Заранее спасибо,
Ross