Написать bash скрипт

1 000 руб. за проект
30 апреля 2021, 14:27 • 11 откликов • 98 просмотров
Есть файл data.txt

содержимое:
{id}_{login}_{imagehash}.jpg

пример:
10790696_podcova_b1f7ff775960a1f331dc90c3d7bb47a0.jpg 71424211_Emelijanova_1d4a228daf42d778d3441a2f89f37170.jpg 71438717_Emelijanova_fff65d407f6520400be65eed3875491c.jpg
71703354_079632844_dcdf643dd72f3049cbace91925fee119.jpg 71703420_vic-torr_dcdf643dd72f3049cbace91925fee119.jpg 11155500_sergiusz_3431356907f09146db5dba6d45aee61d.jpg
71703354_079632844_70eef40cecfb39ec847ede742c0d7bf2.jpg 71703420_vic-torr_70eef40cecfb39ec847ede742c0d7bf2.jpg 11155500_sergiusz_47b0b6d8ca535877c0a36e4493cdf8ef.jpg
71703354_079632844_42e92f51e43972247593ab08d382ffb6.jpg 71703420_vic-torr_42e92f51e43972247593ab08d382ffb6.jpg 11155500_sergiusz_81ada470f36dd1a64614cb5b3e2eb400.jpg
11155500_sergiusz_a4ab8138859b44d9aa436a136279be53.jpg 71703354_079632844_074203edc06658683c85b3d7e0940409.jpg 71703420_vic-torr_074203edc06658683c85b3d7e0940409.jpg
71703354_079632844_faf9cc4a4786c9cfd5f9668410b59a9b.jpg 71703420_vic-torr_faf9cc4a4786c9cfd5f9668410b59a9b.jpg 11155500_sergiusz_ac234f4e01a798d8f967b7b16d90480a.jpg
71703354_079632844_f5410541221305ae9e156f019928d8bf.jpg 71703420_vic-torr_f5410541221305ae9e156f019928d8bf.jpg 11155500_sergiusz_bae70f494eccd84a4f87c9c14d4c5558.jpg

Что софт должен сделать:

1. Убрать {imagehash}.jpg

пример:
10790696_podcova 71424211_Emelijanova 71438717_Emelijanova
71703354_079632844 71703420_vic-torr 11155500_sergiusz
71703354_079632844 71703420_vic-torr 11155500_sergiusz
71703354_079632844 71703420_vic-torr 11155500_sergiusz
11155500_sergiusz 71703354_079632844 71703420_vic-torr
71703354_079632844 71703420_vic-torr 11155500_sergiusz
71703354_079632844 71703420_vic-torr 11155500_sergiusz

2. Сгенерировать список всех {id}

10790696
71438717
71703354
11155500
71703354
11155500
71703354
11155500
11155500
71703420
71703354
11155500
71703354
11155500

3. Убрать дубли {id} (сформировывая тем самым список по которому будем искать)

10790696
71438717
71703354
11155500
71703420

4. Вывести совпадения по {id} в строку

10790696_podcova
71438717_Emelijanova
71703354_079632844 71703354_079632844 71703354_079632844 71703354_079632844 71703354_079632844
11155500_sergiusz 11155500_sergiusz 11155500_sergiusz 11155500_sergiusz 11155500_sergiusz 11155500_sergiusz
71703420_vic-torr 71703420_vic-torr 71703420_vic-torr 71703420_vic-torr 71703420_vic-torr 71703420_vic-vasia

5. Убрать дубликаты в самой строке {id}{login}

10790696_podcova
71438717_Emelijanova
71703354_079632844
11155500_sergiusz
71703420_vic-torr 71703420_vic-vasia

5. Подсчитать сколько уникальных {id} в каждой строке и вывести их в формате {id} | x:

10790696_podcova | 1
71438717_Emelijanova | 1
71703354_079632844 | 1
11155500_sergiusz | 1
71703420_vic-torr 71703420_vic-vasia | 2

6. Сохранить результат в файл result.txt


10790696_podcova | 1
71438717_Emelijanova | 1
71703354_079632844 | 1
11155500_sergiusz | 1
71703420_vic-torr 71703420_vic-vasia | 2