Разделить файл на несколько файлов в каждой строке, где меняется шаблон подстроки? [закрыто]Linux

Ответить
Anonymous
 Разделить файл на несколько файлов в каждой строке, где меняется шаблон подстроки? [закрыто]

Сообщение Anonymous »

У меня есть скрипт bash, использующий дерево, чтобы получить рекурсивный список путей к локальным файлам, а затем преобразовать их в окончательные общедоступные URL-адреса, добавив префикс URL-адреса и записав его в файл.
< pre class="lang-bash Prettyprint-override">

Код: Выделить всё

#!/bin/bash
cd public/media
tree -F -fi --prune --noreport | grep -v /$ > ../../urls/ALL
sed -i 's/^\s*./https:\/\/example.com\/media/g' ../../urls/ALL
Вывод файла выглядит следующим образом (уровень глубины подкаталогов может быть произвольным):

Код: Выделить всё

https://example.com/media/faves-1716910771/architecture/file-01.jpg
https://example.com/media/faves-1716910771/architecture/file-02.jpg
https://example.com/media/faves-1716910771/automotive/file-01.jpg
https://example.com/media/faves-1716910771/automotive/file-02.jpg
https://example.com/media/misc-1716910771/animals/file-01.jpg
https://example.com/media/misc-1716910771/animals/file-02.jpg
https://example.com/media/misc-1716910771/funny/file-01.jpg
https://example.com/media/misc-1716910771/funny/file-02.jpg
Это нормально, но мне кажется, что через некоторое время этот файл может стать довольно длинным.
Мне интересно, есть ли способ изменить мой сценарий, используя sed, awk, python или что-то еще, где один файл можно разделить на несколько файлов каждый раз, когда изменяется шаблон подпути, и создавать файлы с именами, отражающими подпуть, после «media» и перед именами файлов , преобразование косых черт в дефисы и удаление части подпути, связанной с временной меткой эпохи, например ...

Код: Выделить всё

faves-architecture
faves-automotive
misc-animals
misc-funny
... а затем вставляем в каждый из этих файлов только соответствующие URL-адреса.


Подробнее здесь: https://stackoverflow.com/questions/785 ... rn-changes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»