Использование find + sed для добавления разметки к каждому SVG в каталоге

Вы можете прочитать больше на Vim Tips Wiki , но в основном

  • ] : jump to end of previously changed or yanked text

  • . : jump to position where last change occurred in current buffer

1
24.06.2021, 17:54
1 ответ

Это простое решение. Поиск всех файлов svg в pwd. Замена первого символа > на > + информацию тега заголовка. Имя файла из find имеет префикс ./, который удален в $f.

Это будет работать, если все файлы svg начинаются с тега svg, как показано в OP. Это не будет работать с пробелами в именах файлов.

до

<svg width="21" height="21" xmlns="http://www.w3.org/2000/svg"><g fill="none"...

после

<svg width="21" height="21" xmlns="http://www.w3.org/2000/svg"><title>test.svg</title><g fill="none"...

Это проверено только с одним файлом svg. Сделайте резервную копию исходных файлов. Команда в каталоге svg:

find. -iname '*.svg' -exec bash -c 'f=$(printf $0|sed s_./__);sed -i s_\>_\>\<title\>$f\<\/title\>_ $0' {} \;
1
28.07.2021, 11:22

Теги

Похожие вопросы