Job description
Potrzebna mi pomoc przy stworzeniu skryptu, termin do 14.01.2023
Chodzi o budowę samej struktury którą później będę mógł dostosować do swoich potrzeb.
Do każdego kroku proszę o dodanie komentarzy.
W okrągłych nawiasach przypisane są przykładowe numery linii wewnątrz pliku tekstowego.
Co ma wykonać skrypt:
1. Znaleźć najnowszy plik xxxx.txt w "/ext/raport/"
2. W tym najnowszym pliku jeśli w linii 6 i 7 jak poniżej:
(6)[Entity not found in Atlas (column)]: 1
(7)[Entity not found in Atlas (table)]: 3
wartość dla jednego lub obu wpisów po ":" jest większa niż 0 to skrypt może kontunować, inaczej koniec działań.
3. Jeśli kontunuuje, ma odnaleźć wszystkie linie wewnątrz pliku xxxx.txt zawierające:
"[Entity not found in Atlas (table)]";"[Entity not found in Atlas (column)]"
I wyodrębnić sąsiadujące obok nich nazwy, jak dla przykładu:
(34)[Entity not found in Atlas (column)] tabela.aaa_bbb
(45)[Entity not found in Atlas (column)] tabela.ddd_ccc
(75)[Entity not found in Atlas (table)] tabela_xy2.aaa_bbb23
(99)[Entity not found in Atlas (table)] tabela_zv1.ccc_ddd45
Mają zostać tylko nazwy towarzyszące czyli:
tabela.aaa_bbb
tabela.ddd_ccc
tabela_xy2.aaa_bbb23
tabela_zv1.ccc_ddd45
- nazwy są różnej długości o różnej składni, ale mają tą samą strukturę (tj. zawsze są w odstępie spacji od wpisu w kwadratowych nawiasach i zawsze są rozdzielone kropką)
4. Te nazwy mają zostać wstawione w miejsce polecenia jak poniżej w przykładzie:
/usr/hdp/current/atlas-server/hook-bin/import-hive.sh -d tabela_xy2 -t aaa_bbb23
5. Polecenia mają zostać wypisane indywidualnie dla wszystkich wpisów z pliku.