🏠 | 💻 PC | IT-Helpdesk |

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

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

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

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

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

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

Литература

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

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

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

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

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

Он предложил использовать различные текстовые препроцессоры. Первое что он упоминул - 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

Похожие статьи:

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

Если остались вопросы - смело задавайте их в комментариях либо воспользуйтесь поиском по сайту

Поиск по сайту

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: