Я пытаюсь распечатать содержимое столбца в файле между двумя регулярными выражениями, которые находятся в разных столбцах. Пример файла выглядит следующим образом:
Run Summary Paddle Status = 613 (hex 265) Cd+Bi paddle
Run To Time Current C mon Ufis Charge
(sec) (uA) (uC)
23626 35950 1797.5 99.0 5.641e+05 2.289e+06 1.779e+05
23630 34587 1729.3 104.9 5.439e+05 2.234e+06 1.815e+05
23634 34982 1749.1 92.8 5.526e+05 2.100e+06 1.623e+05
23638 35950 1797.5 95.0 5.698e+05 2.204e+06 1.707e+05
23642 36135 1806.8 99.6 5.710e+05 2.317e+06 1.800e+05
23646 36130 1806.5 100.0 5.747e+05 2.322e+06 1.807e+05
23650 36121 1806.0 100.2 5.733e+05 2.324e+06 1.810e+05
23654 36123 1806.2 100.2 5.752e+05 2.323e+06 1.809e+05
Sum 2418821 120941.1 3.772e+07 1.513e+08 1.193e+07
Run Summary Paddle Status = 357 (hex 165) Cd paddle
Run To Time Current C mon Ufis Charge
(sec) (uA) (uC)
23625 36001 1800.0 100.8 3.342e+05 2.329e+06 1.814e+05
23629 36132 1806.6 100.8 3.307e+05 2.343e+06 1.821e+05
23633 35882 1794.1 97.6 3.565e+05 2.257e+06 1.751e+05
23637 36139 1807.0 99.3 3.545e+05 2.307e+06 1.795e+05
23641 36133 1806.7 99.3 3.598e+05 2.307e+06 1.794e+05
23645 36144 1807.2 99.7 3.635e+05 2.315e+06 1.802e+05
23649 36132 1806.6 100.1 3.648e+05 2.321e+06 1.808e+05
23653 36123 1806.2 100.1 3.695e+05 2.318e+06 1.808e+05
23657 36152 1807.6 99.9 3.684e+05 2.318e+06 1.805e+05
Sum 2404062 120203.1 2.186e+07 1.505e+08 1.193e+07
Мне нужно распечатать первый столбец, который находится между двумя строками после регулярного выражения Cd+Bi
, а первое вхождение Sum
не включено. Затем то же самое будет повторяться для регулярного выражения Cd
. Мой вывод будет тогда двумя файлами (хотя это не строго), которые будут иметь следующее содержимое
файл с Cd+Bi
23626
23630
23634
23638
23642
23646
23650
файл с Cd
23625
23629
23633
23637
23641
23645
23649
23653
23657
Я пытался использовать следующие oneliners, но я не могу воспроизвести то, что я хочу.
- Это ничего не печатает
awk '$9 ~ /Cd+Bi/, $1 ~ /Sum/' file
- Это печатает все строки, которые содержат сумму
awk '$9 ~ /Cd+Bi/{flag=1;next}$1 ~ /Sum/' file
Есть идеи, как получить желаемый результат?