сортировка по bash и замена символов - PullRequest
0 голосов
/ 09 июля 2020

Я скучаю по идеям. Как преобразовать файл, содержимое которого выглядит следующим образом:

./2018/09/28/RMDB_CDA
./2018/07/31/RMDB_CDA
./2018/06/29/RMDB_CDA
./2020/02/28/RMDB_CDA_NEW
./2020/01/31/RMDB_CDA_NEW 

, чтобы вернуть две последние уникальные строки, вывод:

2018-09-28:RMDB_CDA
2020-02-28:RMDB_CDA_NEW

1 Ответ

0 голосов
/ 09 июля 2020

отсортируйте по желанию и выберите первую запись по awk для соответствующего поля.

$ sort -r file | awk -F'/' '!a[$NF]++'

./2020/02/28/RMDB_CDA_NEW
./2018/09/28/RMDB_CDA

добавление форматирования и окончательный порядок сортировки

$ sort -r file | awk -F'/' -v OFS='-' '!a[$NF]++{print $2,$3,$4 ":" $NF}' |
  sort

2018-09-28:RMDB_CDA
2020-02-28:RMDB_CDA_NEW
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...