Поскольку это файл, я бы сделал это в Vim. Регулярные выражения Vim очень волшебные очень удобочитаемы и, следовательно, являются хорошим образовательным источником:
:%s_\v^.{6}([^/]+)/([^/]+)/(\d+)/(\d+)/(\d+)\.png(\d{3})(\d{4})_\1,\2,\3,\4,\5,\6,\7_
\ v
включает очень магию ^
запускает совпадение в начале строки . {6}
получить первые 6 символов ( 1.0.0 /
) ([^ /] +)
все, что не является /
( hk
) /
the /
([^ /] +)
мы видели, что раньше (соответствует base
на этот раз) /
- || - || - (\ d +)
соответствует числам ( 9
) / (\ d +) / (\ d +)
повторяет драгоценный материал ( / 7 / 56
) \. Png
это должно быть очевидно (\ d {3})
ровно три числа 200
(\ d {, 4})
до 4 чисел (для большей надежности): 3444
(Для использования с sed
каждый {} () []
необходимо экранировать и \ v
удалено)
Для Ubuntu 16.04 LTS вы можете использовать следующую команду
cat /dev/null > ~/.bash_aliases