Дано: текстовый файл типа
G0 X0 Y0
G1 X10. Y10. F200
G2 X5. Y5. R5.
G3 X4.Y5. R4.Надо получить файл типа(где потом вместо точек буду скриптом дописывать промежуточные координаты с дискретностью 0.1 серию строк )
Шаг 1
G0 X0 Y0
........
G1 X1. Y1. F200
..........
G2 X5. Y5. R5.
..........
G3 X4.Y5. R4.
Шаг 2
G0 X0 Y0
G1 X0.1 Y0.1
G1 X0.2 Y0.2
G1 X0.3 Y0.3
G1 X0.4 Y0.4
G1 X0.5 Y0.5
G1 X0.6 Y0.6
G1 X0.7 Y0.7
G1 X0.8 Y0.8
G1 X0.9 Y0.9
G1 X1. Y1. F200
..........
G2 X5. Y5. R5.
..........
G3 X4.Y5. R4.
Приблизительные наработки:
inputfile=$1
awk '{
for(i=1; i<=NF; i++)
{
if ($i~/^G[0-3]$/){G2=substr($i, 2)}
if ($i~/^X/){X2=substr($i, 2)}
if ($i~/^Y/){Y2=substr($i, 2)}
}
#G1=G2; X1=X2; Y1=Y2;
getline buf
for(i=1; i<=NF; i++)
{
if ($i~/^G[0-3]$/){G2=substr($i, 2)}
if ($i~/^X/){X2=substr($i, 2)}
if ($i~/^Y/){Y2=substr($i, 2)}
}
#split(s, fld)
#sprintf(fmt, ...)
print $0
if (G2==1){print("........")}
print buf
G1=G2; X1=X2; Y1=Y2;
}' $inputfile
exit 0
Просьба помочь хотя бы с первым шагом, в идеале конечно оба. Заранее благодарен за помощь.