Ты senior python developer. К тебе обратился преподаватель из вуза с заданием написать скрипт на python. Проверяй себя. Не совершай ошибок, файлы *.nb не должны ломаться при открытии их при помощи wolframnb (возможно, не надо трогать кэш). Твое ТЗ:
Формат скрипта: python.
ОС: arch linux
Формат бэкапа: если файл будет редактироваться, сделай бэкап файла в папку находящуюся в /tmp. После работы файлы бэкапа не удалять. Вывести пользователю в конце работы путь к паке бэкапа.

Краткое описание работы: Скрипт заходит во все подпапки директории, указанной в ключе --wolfram_noteooks. Открывает файлы с расширением .nb, если в названии файла есть "фитирование", файл пропускается; если в этом файле "d" не стоит на первом месте (или "d" вовсе нет) скрипт скипает этот файл и говорит об этом пользователю. 

Рабочие файлы, структура работы:

Есть файл с коэфицентами:
```txt
174-66_2-3
J=13.2851
d = 2.027
v1 = 1.7300
n1 = 0.7600
vv1 = 2.4000
nn1 = 1.1050
v2 = 1.4012
n2 = 0.5547
vv2 = 1.1338
nn2 = 0.8500
-----------------------------
176-64_4-5
J=14.2006
d = 1.565
v1 = 1.2500
n1 = 0.8500
vv1 = 2.3000
nn1 = 1.1000
v2 = 0.8664
n2 = 0.5924
vv2 = 1.8880
nn2 = 0.6347
-----------------------------
152-88_6-7
J=7.82676
d = 2.875
v1 = 1.63
n1 = 0.856
vv1 = 2.615
nn1 = 1.23
v2 = 2.22
n2 = 0.559
vv2 = 2.428
nn2 = 0.738
-----------------------------
154-86_8-9
J=8.75268
d = 4.158
v1 = 1.82
n1 = 0.845
vv1 = 2.34
nn1 = 1.235
v2 = 2.157
n2 = 0.647
vv2 = 1.76
nn2 = 1.075
-----------------------------
156-84_10-11
J=10.6271
d = 6.444
v1 = 1.635
n1 = 0.855
vv1 = 2.405
nn1 = 1.225
v2 = 1.63
n2 = 0.5571
vv2 = 1.82
nn2 = 0.675
-----------------------------
158-82_12-13
J=11.9856
d = 2.0967
v1 = 2.1
n1 = 0.825
vv1 = 2.555
nn1 = 1.245
v2 = 1.573
n2 = 0.559
vv2 = 1.35
nn2 = 0.735
-----------------------------
160-80_14-15
J= 11.8301
d = 1.971
v1 = 1.965
n1 = 0.805
vv1 = 2.575
nn1 = 1.195
v2 = 1.213
n2 = 0.575
vv2 = 1.35
nn2 = 0.715
-----------------------------
162-78_16-17
J=11.9413
d = 1.92
v1 = 1.925
n1 = 0.805
vv1 = 2.5
nn1 = 1.165
v2 = 1.213
n2 = 0.57
vv2 = 1.35
nn2 = 0.695
-----------------------------
164-76_18-19
J=12.1752
d = 1.745
v1 = 2
n1 = 0.805
vv1 = 2.65
nn1 = 1.175
v2 = 0.795
n2 = 0.595
vv2 = 1.47
nn2 = 0.655
-----------------------------
166-74_20-21
J=12.0995
d = 1.855
v1 = 2.185
n1 = 0.755
vv1 = 2.5
nn1 = 1.165
v2 = 1.055
n2 = 0.575
vv2 = 1.51
nn2 = 0.635
-----------------------------
168-72_22-23
J=11.8913
d = 1.9
v1 = 2.155
n1 = 0.755
vv1 = 2.62
nn1 = 1.135
v2 = 1.025
n2 = 0.575
vv2 = 1.44
nn2 = 0.645
-----------------------------
170-70_24-25
J=11.7863
d = 1.997
v1 = 1.895
n1 = 0.785
vv1 = 2.605
nn1 = 1.125
v2 = 1.145
n2 = 0.565
vv2 = 1.5
nn2 = 0.635
-----------------------------
172-68_26-27
J=12.0157
d = 1.973
v1 = 1.895
n1 = 0.765
vv1 = 2.605
nn1 = 1.115
v2 = 1.375
n2 = 0.545
vv2 = 1.35
nn2 = 0.655
```
Есть файл wolfram notebook. В нем в самом начале стоит выражение d=*какое-то число*.
Примерная структура файла, если "d" стоит на первом месте:
```wolfram notebook
(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[    731705,      17288]
NotebookOptionsPosition[    687975,      16585]
NotebookOutlinePosition[    688773,      16613]
CellTagsIndexPosition[    688693,      16608]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell[BoxData[
 RowBox[{"d", "=", "2.027"}]], "Input",
 CellChangeTimes->{
  3.991926627241884*^9, {3.9919752407542057`*^9, 3.9919752437472878`*^9}, 
   3.9920650045886707`*^9, {3.993120093374651*^9, 3.993120098406262*^9}, {
   3.9931205775772543`*^9, 3.9931205930074*^9}, {3.99312068244851*^9, 
   3.993120683031312*^9}, {3.993120763928855*^9, 3.993120796207575*^9}, {
   3.993120826638487*^9, 3.99312091050727*^9}, {3.993134989219914*^9, 
   3.99313504530585*^9}, {3.99376504479251*^9, 3.9937650448755198`*^9}, {
   3.993794858519045*^9, 3.993794859582933*^9}, {3.993794914198393*^9, 
   3.993794918313219*^9}, {3.99379500667054*^9, 3.993795007979557*^9}, {
   3.99379568990552*^9, 3.993795691164195*^9}, {3.993795875385445*^9, 
   3.99379588501084*^9}, {3.993797995002406*^9, 3.993797995597159*^9}, {
   3.993798072981077*^9, 3.993798075654434*^9}, {3.9937986726317673`*^9, 
   3.9937987633828897`*^9}, {3.996019683105693*^9, 3.9960196851234617`*^9}, {
   3.9960197207254753`*^9, 3.996019835558236*^9}, {3.996020358638421*^9, 
   3.996020431902809*^9}},
 CellLabel->
  "In[407]:=",ExpressionUUID->"351bbc0d-9f60-fb44-a3dd-8326f7c1a9b1"],

Cell[BoxData["2.027`"], "Output",
 CellChangeTimes->{{3.99312071481172*^9, 3.993120733996957*^9}, 
   3.993120778405978*^9, {3.993120808982645*^9, 3.993120917972237*^9}, 
   3.993134742771702*^9, 3.993134997755999*^9, {3.9931350356393623`*^9, 
   3.9931350524140167`*^9}, {3.993765041622612*^9, 3.993765045540139*^9}, {
   3.993794839003294*^9, 3.99379487284307*^9}, 3.993794932563972*^9, 
   3.993795020572113*^9, 3.993795700216778*^9, {3.993798060729582*^9, 
   3.9937980859991283`*^9}, 3.993798620911396*^9, {3.993798685866233*^9, 
   3.993798702104156*^9}, {3.993798732179296*^9, 3.993798771847027*^9}, 
   3.993798841155717*^9, 3.993826323633601*^9, 3.99601968768934*^9, {
   3.9960197225490913`*^9, 3.9960198377988863`*^9}, {3.996020361799699*^9, 
   3.9960204378503847`*^9}},
 CellLabel->
  "Out[407]=",ExpressionUUID->"ef417a2c-223f-4508-899b-e106a590f873"]
}, Open  ]],

Cell[CellGroupData[{
etc........
```
Структура папок:
```stdout
./
├── 152-88_h_Pu240_6-7
│   ├── h_152-88_h_Pu240_6-7_gid_Qw1.nb
│   ├── h_152-88_h_Pu240_6-7_gid_Qw2.nb
│   ├── h_152-88_h_Pu240_6-7_osc_Qw1.nb
│   ├── h_152-88_h_Pu240_6-7_osc_Qw2.nb
│   ├── h_152-88_h_Pu240_6-7_pr_Qw1.nb
│   ├── h_152-88_h_Pu240_6-7_pr_Qw2.nb
│   ├── h_152-88_h_Pu240_6-7_фитирование.nb
│   └── rename.zsh
├── 154-86_h_Pu240_8-9
│   ├── h_154-86_Pu240_8-9_gid_Qw1.nb
│   ├── h_154-86_Pu240_8-9_gid_Qw2.nb
│   ├── h_154-86_Pu240_8-9_osc_Qw1.nb
│   ├── h_154-86_Pu240_8-9_osc_Qw2.nb
│   ├── h_154-86_Pu240_8-9_pr_Qw1.nb
│   ├── h_154-86_Pu240_8-9_pr_Qw2.nb
│   ├── h_154-86_Pu240_8-9_фитирование.nb
│   └── rename.zsh
├── 156-84_h_Pu240_10-11
│   ├── h_156-84_h_Pu240_10-11_gid_Qw1.nb
│   ├── h_156-84_h_Pu240_10-11_gid_Qw2.nb
│   ├── h_156-84_h_Pu240_10-11_osc_Qw1.nb
│   ├── h_156-84_h_Pu240_10-11_osc_Qw2.nb
│   ├── h_156-84_h_Pu240_10-11_pr_Qw1.nb
│   ├── h_156-84_h_Pu240_10-11_pr_Qw2.nb
│   ├── h_156-84_h_Pu240_10-11_фитирование.nb
│   └── rename.zsh
├── 158-82_h_Pu240_12-13
│   ├── h_158-82_h_Pu240_12-13_gid_Qw1.nb
│   ├── h_158-82_h_Pu240_12-13_gid_Qw2.nb
│   ├── h_158-82_h_Pu240_12-13_osc_Qw1.nb
│   ├── h_158-82_h_Pu240_12-13_osc_Qw2.nb
│   ├── h_158-82_h_Pu240_12-13_pr_Qw1.nb
│   ├── h_158-82_h_Pu240_12-13_pr_Qw2.nb
│   ├── h_158-82_h_Pu240_12-13_фитирование.nb
│   └── rename.zsh
├── 160-80_h_Pu240_14-15
│   ├── h_160-80_Pu240_14-15_gid_Qw1.nb
│   ├── h_160-80_Pu240_14-15_gid_Qw2.nb
│   ├── h_160-80_Pu240_14-15_osc_Qw1.nb
│   ├── h_160-80_Pu240_14-15_osc_Qw2.nb
│   ├── h_160-80_Pu240_14-15_pr_Qw1.nb
│   ├── h_160-80_Pu240_14-15_pr_Qw2.nb
│   ├── h_160-80_Pu240_14-15_фитирование.nb
│   └── rename.zsh
├── 162-78_h_Pu240_16-17
│   ├── h_162-78_Pu240_16-17_gid_Qw1.nb
│   ├── h_162-78_Pu240_16-17_gid_Qw2.nb
│   ├── h_162-78_Pu240_16-17_osc_Qw1.nb
│   ├── h_162-78_Pu240_16-17_osc_Qw2.nb
│   ├── h_162-78_Pu240_16-17_pr_Qw1.nb
│   ├── h_162-78_Pu240_16-17_pr_Qw2.nb
│   ├── h_162-78_Pu240_16-17_фитирование.nb
│   └── rename.zsh
├── 164-76_h_Pu240_18-19
│   ├── h_164-76_Pu240_18-19_gid_Qw1.nb
│   ├── h_164-76_Pu240_18-19_gid_Qw2.nb
│   ├── h_164-76_Pu240_18-19_osc_Qw1.nb
│   ├── h_164-76_Pu240_18-19_osc_Qw2.nb
│   ├── h_164-76_Pu240_18-19_pr_Qw1.nb
│   ├── h_164-76_Pu240_18-19_pr_Qw2.nb
│   ├── h_164-76_Pu240_18-19_фитирование.nb
│   └── rename.zsh
├── 166-74_h_Pu240_20-21
│   ├── h_166-74_Pu240_20-21_gid_Qw1.nb
│   ├── h_166-74_Pu240_20-21_gid_Qw2.nb
│   ├── h_166-74_Pu240_20-21_osc_Qw1.nb
│   ├── h_166-74_Pu240_20-21_osc_Qw2.nb
│   ├── h_166-74_Pu240_20-21_pr_Qw1.nb
│   ├── h_166-74_Pu240_20-21_pr_Qw2.nb
│   ├── h_166-74_Pu240_20-21_фитирование.nb
│   └── rename.zsh
├── 168-72_h_Pu240_22-23
│   ├── h_168-72_Pu240_22-23_gid_Qw1.nb
│   ├── h_168-72_Pu240_22-23_gid_Qw2.nb
│   ├── h_168-72_Pu240_22-23_osc_Qw1.nb
│   ├── h_168-72_Pu240_22-23_osc_Qw2.nb
│   ├── h_168-72_Pu240_22-23_pr_Qw1.nb
│   ├── h_168-72_Pu240_22-23_pr_Qw2.nb
│   ├── h_168-72_Pu240_22-23_фитирование.nb
│   └── rename.zsh
├── 170-70_h_Pu240_24-25
│   ├── h_170-70_Pu240_24-25_gid_Qw1.nb
│   ├── h_170-70_Pu240_24-25_gid_Qw2.nb
│   ├── h_170-70_Pu240_24-25_osc_Qw1.nb
│   ├── h_170-70_Pu240_24-25_osc_Qw2.nb
│   ├── h_170-70_Pu240_24-25_pr_Qw1.nb
│   ├── h_170-70_Pu240_24-25_pr_Qw2.nb
│   ├── h_170-70_Pu240_24-25_фитирование.nb
│   └── rename.zsh
├── 172-68_h_Pu240_26-27
│   ├── h_172-68_Pu240_26-27_gid_Qw1.nb
│   ├── h_172-68_Pu240_26-27_gid_Qw2.nb
│   ├── h_172-68_Pu240_26-27_osc_Qw1.nb
│   ├── h_172-68_Pu240_26-27_osc_Qw2.nb
│   ├── h_172-68_Pu240_26-27_pr_Qw1.nb
│   ├── h_172-68_Pu240_26-27_pr_Qw2.nb
│   ├── h_172-68_Pu240_26-27_фитирование.nb
│   └── rename.zsh
├── 174-66_h_Pu240_2-3
│   ├── h_174-66_Pu240_2-3_gid_Qw1.nb
│   ├── h_174-66_Pu240_2-3_gid_Qw2.nb
│   ├── h_174-66_Pu240_2-3_osc_Qw1.nb
│   ├── h_174-66_Pu240_2-3_osc_Qw2.nb
│   ├── h_174-66_Pu240_2-3_pr_Qw1.nb
│   ├── h_174-66_Pu240_2-3_pr_Qw2.nb
│   └── h_174-66_Pu240_2-3_фитирование.nb
├── 176-64_h_Pu240_4-5
│   ├── h_176-64_Pu240_4-5_gid_Qw1.nb
│   ├── h_176-64_Pu240_4-5_gid_Qw2.nb
│   ├── h_176-64_Pu240_4-5_osc_Qw1.nb
│   ├── h_176-64_Pu240_4-5_osc_Qw2.nb
│   ├── h_176-64_Pu240_4-5_pr_Qw1.nb
│   ├── h_176-64_Pu240_4-5_pr_Qw2.nb
│   ├── h_176-64_Pu240_4-5_фитирование.nb
│   └── rename.bat
├── result_table.xlsx
└── коэффициенты_Pu240_2-24.txt
```

Соответствие файла и значения "d" получается по принципу:
Пример 1:
  - Файл: "h_154-86_Pu240_8-9_gid_Qw1.nb"
  - Значение "d" из секции файла с коэфициентами: 154-86_8-9; значение "d" = 4.158
Пример 2:
  - Файл: "h_152-88_h_Pu240_6-7_pr_Qw1.nb"
  - Значение "d" из секции файла с коэфициентами: 152-88_6-7; значение "d" = 2.875
Исключения:
  - если файл содержит в названии "фитирование", файл пропускается.
  - если файл НЕ содержит в названии "фитирование" и в нем d не является самой первой переменной, файл пропускается и пишется в консоль соощение о пропущенном файле и его название.

Способ работы со скриптом:
запуск в bash с ключами/параметрами:
```bash
./insert_d_into_nb.py --coeff_file "коэфициенты.txt" --wolfram_notebooks .
```

Задача:
Поменять значения 'd' в файлах *.nb на значение из файла коэффициентов.
