🏠 | 💻 PC | IT-Helpdesk |

Текстовые препроцессоры

Эта статья - путеводитель по текстовым препроцессорам

Про каждый из них есть отдельная статья:

По умолчанию я предполагаю, что Вы работаете в Bash под Windows 10

Как установить Bash в Windows 10 подробно описано здесь

Contents
SED: Замена слова в нескольких файлах одновременно
SED: Отбросить всё, что слева
SED: Отбросить всё, что справа
SED: Экранирование символов
SED: Два условия одновременно
SED: Удаление переходов на новую строку
AWK: Вывести только определённые столбцы
GREP
Литература
Обработка результатов

Литература

Обработка результатов

Далее Вы увидите один из самых старых текстов на этом сайте. Я постарался оформить его так чтобы хоть что-то было понятно. Но работы предстоит ещё много.

Задача стояла следующая: мне во время практики в АЭПе дали программу, которая на выходе выдает информацию о выходе радионуклидов в текстовых файлах.

To значительно сократить время, затрачиваемое на обработку нужно написать программу, которая из текстовых файлов достает только определённые столбцы или строки.

Т.к. я языками программирования я тогда владел крайне слабо - спросил совет у Синего.

Он предложил использовать различные текстовые препроцессоры. Первое что он упоминул - sed.

В процессе оказалось, что нужны еще awk и grep .


На выходе довольно большой текстовый файл, выложу его кусок

000:00:00 entry into chain 13 cpu time = 0.000 secs

SPU
PRIN 1 0 1
PARTIT 1 2 4 5 46 69
REAC 234 1000 2235 1000 236 1000 8238 1000
6239 1000 1240 1000 1241 1000 1242 1000
951 1000 952 1000 953 1000
BEGI
000:00:00 entry into chain 14 cpu time = 0.000 secs

000:00:00 entry into chain 15 cpu time = 0.000 secs

000:00:00 entry into chain 12 cpu time = 0.000 secs

MACROSCOPIC FISSION X-SECS for materials and cell, last column is cell flux
1 2 3 4 5 6 7 8
9 10 11
gp 1 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01
0.258187E-01 0.258187E-01 0.258187E-01 0.748169E-02 0.473275E-02
gp 2 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01
0.161587E-01 0.161587E-01 0.161587E-01 0.464412E-02 0.201256E-01
gp 3 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01
0.159553E-01 0.159553E-01 0.159553E-01 0.458471E-02 0.257730E-01
gp 4 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01
0.128689E-01 0.128689E-01 0.128689E-01 0.369038E-02 0.246072E-01
gp 5 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02
0.228793E-02 0.228793E-02 0.228793E-02 0.653324E-03 0.142246E-01
gp 6 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02

И так до gp 69, и дальше еще много различных результатов.
Обращаю внимание на строки, которые начинаются с gp. Под каждой из них есть строка-продолжение.
которая не содержит записи gp. Меня интересуют последние числа каждой такой строки - это поток n.

Первое что я делаю - выделяю куски текста, которые содежат нужную мне информацию.

grep -A 140 "MACROSCOPIC FISSION X-SECS for materials and cell, last column is cell flux" REZWI > result.txt

grep -A 140 выделяет 140 строк после контекста "MACROScOPIc…."

Почему 140 - 69 групп по две строчки на группу = 138, плюс заголовок и еще одна не помню для чего ((((
Результатом манипуляции будет текстовый файл result.txt, в котором будет 35 блоков данных
35 - потому что цикл работы реактора разбит на 35 частей каждая из которых в исходном файле
имеет заголовок "MACROScOPIc…." который собственно и ищется с помощью grep.
Вот часть файла result.txt

MACROSCOPIC FISSION X-SECS for materials and cell, last column is cell flux 1 2 3 4 5 6 7 8 9 10 11 gp 1 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.748169E-02 0.473275E-02 gp 2 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.161587E-01 0.464412E-02 0.201256E-01 gp 3 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.159553E-01 0.458471E-02 0.257730E-01 gp 4 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.128689E-01 0.369038E-02 0.246072E-01 gp 5 0.228793E-02 0.2
28793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.228793E-02 0.653324E-03 0.142246E-01 gp 6 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.147051E-02 0.418961E-03 0.823997E-02 gp 7 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.152774E-02 0.434211E-03 0.721812E-02 gp 8 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.164271E-02 0.484217E-03 0.291866E-02 gp 9 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.182526E-02 0.532056E-03 0.999085E-03 gp 10 0.203580E-02 0.203580E-02 0.203580E-02 0.203580E-02 0.203580E-02 0.203580E-02
0.203580E-02 0.203580E-02 0.203580E-02 0.203580E-02 0.203580E-02 0.569540E-03 0.396603E-02 gp 11 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.229674E-02 0.726113E-03 0.702966E-03 gp 12 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.258920E-02 0.728032E-03 0.323297E-02 gp 13 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.299092E-02 0.824071E-03 0.762816E-02 gp 14 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.360061E-02 0.104274E-02 0.526137E-02 gp 15 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.416529E-02 0.41652
9E-02 0.125347E-02 0.765153E-03 gp 16 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.546336E-02 0.144770E-02 0.441727E-02 gp 17 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.657615E-02 0.184687E-02 0.116604E-01 gp 18 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.758966E-02 0.208981E-02 0.419816E-02 gp 19 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.101488E-01 0.213944E-02 -0.721001E-03 gp 20 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.151121E-01 0.393959E-02 0.315228E-03 gp 21 0.231950E-01 0.231950
E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.231950E-01 0.653475E-02 0.197044E-01 gp 22 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.278725E-01 0.792405E-02 0.196770E-01 gp 23 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.492258E-01 0.158210E-01 0.944543E-03 gp 24 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.504478E-01 0.134764E-01 0.670228E-02 gp 25 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 0.594370E-01 -0.942184E-03 -0.134333E-02 gp 26 0.457128E-01 0.457128E-01 0.457128E-01 0.457128E-01 0.457128E-01 0.457128E-01 0.4
57128E-01 0.457128E-01 0.457128E-01 0.457128E-01 0.457128E-01 0.132510E-01 -0.286800E-02 gp 27 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.434699E-01 0.117749E-01 0.468031E-02 gp 28 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.330244E-01 0.101598E-01 0.424557E-02 gp 29 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.283537E-01 0.834460E-02 -0.118826E-02 gp 30 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.134292E-01 0.408619E-02 0.784153E-03 gp 31 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-01 0.197680E-0
1 0.625692E-02 -0.249868E-02 gp 32 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.235127E-01 0.726266E-02 0.256769E-02 gp 33 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.658384E-01 0.168055E-01 0.650789E-02 gp 34 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.129558E+00 0.360350E-01 0.224641E-02 gp 35 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.133164E+00 0.510737E-01 0.270159E-03 gp 36 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.124947E+00 0.399952E-01 -0.161003E-02 gp 37 0.111818E+00 0.111818E+00
0.111818E+00 0.111818E+00 0.111818E+00 0.111818E+00 0.111818E+00 0.111818E+00 0.111818E+00 0.111818E+00 0.111818E+00 0.317198E-01 0.322549E-02 gp 38 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.994409E-01 0.498205E-01 0.533795E-03 gp 39 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.899864E-01 0.261549E-01 -0.595607E-02 gp 40 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.831425E-01 0.238012E-01 0.252756E-02 gp 41 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.784022E-01 0.201829E-01 0.749544E-02 gp 42 0.741777E-01 0.741777E-01 0.741777E-01 0.741777E-01 0.741777E-01 0.741777E-01 0.741777
E-01 0.741777E-01 0.741777E-01 0.741777E-01 0.741777E-01 0.372780E-01 0.102730E-02 gp 43 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.706649E-01 0.216619E-01 0.267829E-02 gp 44 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.698456E-01 0.194601E-01 0.566279E-02 gp 45 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.752847E-01 0.223158E-01 0.714465E-02 gp 46 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.920090E-01 0.229098E-01 -0.635722E-03 gp 47 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.123193E+00 0.
366803E-01 0.637679E-02 gp 48 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.168169E+00 0.472047E-01 0.549588E-02 gp 49 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.209348E+00 0.712533E-01 0.299886E-02 gp 50 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.235552E+00 0.578755E-01 0.148999E-02 gp 51 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.247790E+00 0.714624E-01 0.194720E-02 gp 52 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 0.246235E+00 -0.402602E-01 -0.269331E-03 gp 53 0.233803E+00 0.233803E+00 0.2
33803E+00 0.233803E+00 0.233803E+00 0.233803E+00 0.233803E+00 0.233803E+00 0.233803E+00 0.233803E+00 0.233803E+00 0.844577E-01 0.334404E-03 gp 54 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.229264E+00 0.688412E-01 0.152326E-02 gp 55 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.246461E+00 0.800921E-01 0.166075E-02 gp 56 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.289221E+00 0.890859E-01 0.488075E-02 gp 57 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.344531E+00 0.114049E+00 0.383224E-02 gp 58 0.391285E+00 0.391285E+00 0.391285E+00 0.391285E+00 0.391285E+00 0.391285E+00 0.391285E+00
0.391285E+00 0.391285E+00 0.391285E+00 0.391285E+00 0.114618E+00 0.689195E-02 gp 59 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.432562E+00 0.153633E+00 0.462829E-02 gp 60 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.473186E+00 0.135132E+00 0.897580E-02 gp 61 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.521440E+00 0.165255E+00 0.818273E-02 gp 62 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.579347E+00 0.173404E+00 0.314244E-02 gp 63 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.638942E+00 0.19475
8E+00 0.301028E-02 gp 64 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.702583E+00 0.219884E+00 0.523509E-02 gp 65 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.785706E+00 0.307538E+00 0.248919E-02 gp 66 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.900694E+00 0.279087E+00 0.217688E-02 gp 67 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.107473E+01 0.644333E-01 -0.152397E-02 gp 68 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.139200E+01 0.563751E+00 0.671439E-03 gp 69 0.230418E+01 0.230418E+01 0.230418
E+01 0.230418E+01 0.230418E+01 0.230418E+01 0.230418E+01 0.230418E+01 0.230418E+01 0.230418E+01 0.230418E+01 0.455581E+00 0.113679E-01 -- MACROSCOPIC FISSION X-SECS for materials and cell, last column is cell flux 1 2 3 4 5 6 7 8 9 10 11 gp 1 0.258125E-01 0.258125E-01 0.258123E-01 0.258129E-01 0.258125E-01 0.258132E-01 0.258141E-01 0.258127E-01 0.258120E-01 0.258131E-01 0.258130E-01 0.787471E-02 0.272665E-02 gp 2 0.161547E-01 0.161547E-01 0.161546E-01 0.161550E-01 0.161547E-01 0.161552E-01 0.161558E-01 0.161548E-01 0.161544E-01 0.161553E-01 0.161551E-01 0.494833E-02 0.109512E-01 gp 3 0.159510E-01 0.159510E-01 0.159508E-01 0.159513E-01 0.159510E-01 0.159515E-01 0.159522E-01 0.159511E-01 0.159506E-01 0.159516E-01 0.159514E-01 0.487487E-02 0.228032E-01 gp 4 0.128648E-01 0.128648E-01 0.128646E-01 0.128651E-01
0.128647E-01 0.128652E-01 0.128659E-01 0.128649E-01 0.128644E-01 0.128654E-01 0.128652E-01 0.393462E-02 0.242933E-01 gp 5 0.228478E-02 0.228472E-02 0.228453E-0



Выложил так же как вижу в блокноте сам.

Шаг 2

for /L %%i in (1,1,9) do grep -A 1 "gp %%i" result.txt >> result%%i.txt
for /L %%i in (10,1,69) do grep -A 1 "gp %%i" result.txt >> result%%i.txt


Выделяем из файла result.txt 69 файлов - в каждом только одна группа (например только gp1)
по 35 "двойных строк.

Результатом будет 69 файлов со следующим содержанием:


gp 1 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.258187E-01 0.748169E-02 0.473275E-02 -- gp 1 0.258125E-01 0.258125E-01 0.258123E-01 0.258129E-01 0.258125E-01 0.258132E-01 0.258141E-01 0.258127E-01 0.258120E-01 0.258131E-01 0.258130E-01 0.787471E-02 0.272665E-02 -- gp 1 0.257867E-01 0.257854E-01 0.257839E-01 0.257850E-01 0.257851E-01 0.257862E-01 0.257887E-01 0.257886E-01 0.257885E-01 0.257898E-01 0.257873E-01 0.786697E-02 0.272804E-02 -- gp 1 0.257448E-01 0.257416E-01 0.257380E-01 0.257399E-01 0.257407E-01 0.257425E-01 0.257477E-01 0.257495E-01 0.257502E-01 0.257517E-01 0.257457E-01 0.785425E-02 0.273096E-02 -- gp 1 0.256913E-01 0.256855E-01 0.256793E-01 0.256823E-01 0.256839E-01 0.256867E-01 0.256953E-01 0.256995E-01 0.257012E-01 0.257031E-01 0.256926E-01 0.783803E-02 0.273307E-02 -- gp 1 0.256258E-01 0.256170E-01 0.256075E-01 0
.256118E-01 0.256145E-01 0.256185E-01 0.256312E-01 0.256383E-01 0.256413E-01 0.256436E-01 0.256275E-01 0.781827E-02 0.273425E-02 -- gp 1 0.255582E-01 0.

Шаг 3

for /L %%i in (1,1,9) do grep -v "gp %%i" result%%i.txt >> result%%ia.txt
for /L %%i in (10,1,69) do grep -v "gp %%i" result%%i.txt >> result%%ia.txt


Удаляем строки, которые начинаются с gp - все равно там нет нужной информации
Как результат имеем по прежнему 69 файлом типа result1a.txt


0.258187E-01 0.258187E-01 0.258187E-01 0.748169E-02 0.473275E-02 -- 0.258120E-01 0.258131E-01 0.258130E-01 0.787471E-02 0.272665E-02 -- 0.257885E-01 0.257898E-01 0.257873E-01 0.786697E-02 0.272804E-02 -- 0.257502E-01 0.257517E-01 0.257457E-01 0.785425E-02 0.273096E-02 -- 0.257012E-01 0.257031E-01 0.256926E-01 0.783803E-02 0.273307E-02 -- 0.256413E-01 0.256436E-01 0.256275E-01 0.781827E-02 0.273425E-02 -- 0.255796E-01 0.255822E-01 0.255603E-01 0.779791E-02 0.273478E-02 -- 0.255170E-01 0.255200E-01 0.254922E-01 0.777737E-02 0.273353E-02 -- 0.254707E-01 0.254740E-01 0.254417E-01 0.776241E-02 0.273621E-02 -- 0.254713E-01 0.254746E-01 0.254423E-01 0.776458E-02 0.276677E-02 -- 0.254639E-01 0.254673E-01 0.254344E-01 0.776210E-02 0.277126E-02 -- 0.254302E-01 0.254338E-01 0.253981E-01 0.775109E-02 0.277047E-02 -- 0.253763E-01 0.253802E-01 0.253398E-01 0.773347E-02 0.276891E-02 -- 0.253082E-01 0.253126E-01 0.252664E-01 0.771131E-02
0.276595E-02 -- 0.252259E-01 0.252307E-01 0.251774E-01 0.768457E-02 0.276183E-02 -- 0.251475E-01 0.251529E-01 0.250927E-01 0.765916E-02 0.275646E-02 -- 0.250686E-01 0.250745E-01 0.250072E-01 0.763371E-02 0.275172E-02 -- 0.250104E-01 0.250167E-01 0.249441E-01 0.761519E-02 0.275157E-02 -- 0.250112E-01 0.250175E-01 0.249449E-01 0.761746E-02 0.278151E-02 -- 0.250048E-01 0.250111E-01 0.249380E-01 0.761530E-02 0.278501E-02 -- 0.249758E-01 0.249822E-01 0.249070E-01 0.760593E-02 0.278255E-02 -- 0.249296E-01 0.249364E-01 0.248576E-01 0.759105E-02 0.277882E-02 -- 0.248717E-01 0.248787E-01 0.247956E-01 0.757238E-02 0.277362E-02 -- 0.248017E-01 0.248091E-01 0.247207E-01 0.754993E-02 0.276745E-02 -- 0.247329E-01 0.247407E-01 0.246469E-01 0.752789E-02 0.276060E-02 -- 0.246637E-01 0.246718E-01 0.245726E-01 0.750583E-02 0.275417E-02 -- 0.246126E-01 0.246211E-01 0.245176E-01 0.748978E-02 0.275337E-02 -- 0.246133E-01 0.246218E-01 0.245184E-01
0.749204E-02 0.278428E-02 -- 0.246102E-01 0.246186E-01 0.245150E-01 0.749093E-02 0.278679E-02 -- 0.245961E-01 0.246046E-01 0.245002E-01 0.748635E-02 0.278328E-02 -- 0.245737E-01 0.245823E-01 0.244766E-01 0.747907E-02 0.277875E-02 -- 0.245455E-01 0.245542E-01 0.244468E-01 0.746991E-02 0.277283E-02 -- 0.245113E-01 0.245202E-01 0.244106E-01 0.745886E-02 0.276605E-02 -- 0.244744E-01 0.244834E-01 0.243713E-01 0.744696E-02 0.275907E-02 -- 0.244372E-01 0.244463E-01 0.243316E-01 0.743503E-02 0.275258E-02

Шаг 4


for /L %%i in (1,1,69) do grep -v -e "--" result%%ia.txt >> result%%ib.txt

Удаляем знаки "--"

Шаг 5

for /L %%k in (1,1,69) do awk "{print $5}" result%%kb.txt >> result%%kc.txt


Выделяем в каждом из 69 файлов пятые слова в строчках.
Получаем 69 файлов в каждом из которых столбец из 35 значений.
Например result1c.txt


0.473275E-02
0.272665E-02
0.272804E-02
0.273096E-02
0.273307E-02
0.273425E-02
0.273478E-02
0.273353E-02
0.273621E-02
0.276677E-02
0.277126E-02
0.277047E-02
0.276891E-02
0.276595E-02
0.276183E-02
0.275646E-02
0.275172E-02
0.275157E-02
0.278151E-02
0.278501E-02
0.278255E-02
0.277882E-02
0.277362E-02
0.276745E-02
0.276060E-02
0.275417E-02
0.275337E-02
0.278428E-02
0.278679E-02
0.278328E-02
0.277875E-02
0.277283E-02
0.276605E-02
0.275907E-02
0.275258E-02

Шаг 6

for /L %%j in (1,1,35) do for /L %%i in (1,1,69) do sed -n "%%jp" result%%ic.txt >> result%%jd.txt


Сначала собираем 1е строки по всем 69 файлам и записываем в result1d.txt - это
спектр нейтронов на первом этапе работы реактора. Далее - еще 34 файла по 69
значений - для следующих этапов.

Шаг 7

for /L %%i in (1,1,69) do del result%%i.txt
for /L %%i in (1,1,69) do del result%%ia.txt
for /L %%i in (1,1,69) do del result%%ib.txt
for /L %%i in (1,1,69) do del result%%ic.txt

Удаляем все лишнее

Шаг 8

Я собираюсь построить графики в MS Excel
Следовательно мне хотелось бы заменить точки на запятые


for /L %%i in (1,1,35) do sed "s/\./\,/g" result%%id.txt >> result%%ie.txt


И ещё немного прибираемся


for /L %%i in (1,1,69) do del result%%id.txt

Шаг 9


Нужно загнать эти 35 файлов в Excel и желательно построить графики автоматически
как это сделать пока неясно. При отправке в Excel жалобы на формат. Как делать
макрос, а тем более, управляемый из bat-файла - я на тот момент не знал.Сейчас Вы можете изучить эту тему в статье Примеры программ VBA в Excel

Related Articles:

🖧 Remote Desktop
- Доступ по RDP через SSH туннель под Windows
🄭 Доступ к CD приводу через удалённый рабочий стол
- Установка Windows на gpt диск
- Режим разработчика Windows 10
- Добавить скрипт в автозагрузку
- Системная переменная окружения PATH в Windows
- Системная переменная окружения PATH в Linux
- Bash в Windows 10
- Batch файлы
- Обработка текста: Grep, sed, awk
📀 Запись образа с Ultraiso
Сочетания клавиш
- Список установленных в Windows драйверов
🔥 Firewall Windows
Проброс портов
Share in social media: