Форматирование строк текста в определенном порядке - терминал - PullRequest
0 голосов
/ 04 июня 2019

Сопоставление нижнего блока текста с верхним блоком текста с некоторыми другими требованиями к форматированию.

Ниже приведена выдержка из блока текста, это повторяется в большом файле.

 B. Silva
 MID MAN CITY
 A. Robertson
 DEF LIVERPOOL
 A. Lacazette
 ST ARSENAL
 C. Azpilicueta
 DEF CHELSEA
 . Alisson
 GK LIVERPOOL
 L. Sane
 MID MAN CITY
 P. Pogba
 MID MAN UTD
 K. Walker
 DEF MAN CITY
 M. Alonso
 DEF CHELSEA
 R. Jimenez
 ST WOLVES
 G. Jesus
 ST MAN CITY
 H. Son
 ST SPURS
 M. Doherty
 DEF WOLVES
 R. Firmino
 ST LIVERPOOL
 Ederson
 GK MAN CITY
 D. Silva
 MID MAN CITY PRICE GW PTS AVG PTS TOTAL
 PTS SELECTED %
 £4.7m - 4.5 223 19%
 £4.6m 8 4.6 221 38.8%
 £5.3m - 4.5 219 15.1%
 £4.3m - 3.8 210 14.2%
 £4.2m 13 4.1 209 25.8%
 £5.7m - 4.4 204 18.6%
 £5.1m - 4.2 199 22.5%
 £4.7m - 3.8 196 19.8%
 £4.8m - 5.1 193 17.8%
 £4.8m - 4.4 193 4.8%
 £4.9m - 4.2 192 9.8%
 £5.2m 0 3.9 189 10%
 £4.5m - 4.2 189 10.6%
 £4.8m 0 3.8 183 16.3%
 £4.2m - 3.2 178 26.8%
 £3.8m - 3.5 176 9.4%

Я бы хотел, чтобы он был отформатирован следующим образом:

B. Silva, MID, MAN CITY, £4.7m - 4.5 223 19%
A. Robertson, DEF, LIVERPOOL, £4.6m 8 4.6 221 38.8%

1 Ответ

0 голосов
/ 05 июня 2019

Вот как я это сделал в итоге:

Ненужный текст (СРЕДНИЙ ЧЕЛОВЕК ЦЕНА GW PTS AVG PTS ВСЕГО И ВЫБРАН PTS%) Я сначала вычеркнул

$ cat stats.txt | grep -v "PTS" > file.txt

Grep только точки, используя £ в качестве идентифицированного

$ cat file.txt | grep £ > points.txt

$ cat file.txt | grep -v £ > playersandteams.txt

Затем я использовал макрос в Notepat ++, чтобы вывести игроков и команды на одну линию. Затем использовали разрез с космическим разделителем, чтобы отделить их. Долгий путь, я знаю ...

Затем я скопировал их все в электронную таблицу, так как я считал, что лучше всего представлять данные. Я уверен, что есть способ сделать это, но для создания указателя строки мне понадобится скрипт bash / python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...