Я пытаюсь написать сценарий оболочки, который читает file1, получить определенный столбец из этого файла.И замените столбец в file2 на столбец, извлеченный из file1 между двумя шаблонами.
File1
Line1
Line2
.
LineN
ATOM C1 C2 C3
ATOM P23 HI IKJ
ATOM S23 JSK SN
BOND
Many lines
END
File2
Few Lines
Pattern1
1 C -9.2429 -1.3783 -9.5091 C.3 1 LIG1 0.0555
2 C -10.5865 -0.8658 -8.9679 C.3 1 LIG1 0.0529
3 N -11.3072 -0.5779 -10.1774 N.am 1 LIG1 -0.2940
Patttern2
Lines
Я хочу получить столбец $ 2 из файла1 и замените его столбцом $ 2 в file2 между pattern1 и pattern 2.
Вывод
Few Lines
Pattern1
1 C1 -9.2429 -1.3783 -9.5091 C.3 1 LIG1 0.0555
2 P23 -10.5865 -0.8658 -8.9679 C.3 1 LIG1 0.0529
3 S23 -11.3072 -0.5779 -10.1774 N.am 1 LIG1 -0.2940
Patttern2
Lines
До сих пор я пробовал несколько вещей.
awk '($1=="ATOM") {print $2}' file1
awk '/pattern1/{flag=1; next} /pattern2/{flag=0} flag' file2
Iможет хранить столбец 2 в файле1.Кроме того, линии между обоими образцами из файла 2.
Я уверен, что с чем-то вроде FNR = NR, я должен иметь возможность обрабатывать оба файла одновременно.Любая помощь была бы велика, чтобы продолжить.