Поскольку это последнее вхождение в файл, вы можете использовать этот sed
скрипт:
sed -i 'H;1h;$!d;g;s_\(.*\)<br />_\1</font>_' yourfile.html
или упрощенный с помощью GNU sed
и расширенного регулярного выражения:
sed -izE 's_(.*)<br />_\1</font>_' yourfile.html
Хитрость заключается в том, чтобы обработать весь файл в одном буфере. Версия POSIX делает это путем сбора в буфере удержания, версия GNU использует для этого опцию -z
. Затем с помощью команды s
замените все (.*
), включая последнее вхождение шаблона, на все перед шаблоном (, \1
относится к части в()
)и замене.
Другая попытка, если вам действительно требуется замена только в третьей до последней строке (без замены, если нет совпадения, без замены в следующей -по -последней или последней строке):
sed '1N;N;$!{P;D];s_<br />_</font>_' yourfile.html
Обычно эту информацию можно получить, прочитав /etc/ld.so.conf
. Этот файл может включать в себя другие файлы; в моей системе он включает все файлы в /etc/ld.so.conf.d
.
Обратите внимание, что поиск будет выполняться в нескольких каталогах. Обратите также внимание, что это не влияет на путь динамического компоновщика ld.so
, который встроен в двоичный файл и обычно является унифицированным для данной архитектуры и ABI.
Сначала следует выяснить цель, чтобы указать путь. Это может быть один из:
Для (3 )единственным реальным источником является описание политики дистрибутива, которое является удобочитаемым документом. Вы не можете определить это из кеша /etc/ld.so.conf
, ldconfig
и т. д., потому что вы не можете узнать, какое расположение является предпочтительным, а какое — устаревшим; некоторый намек на это можно получить, подсчитав библиотеки, но это определенно не работает для сценария оболочки.
Для (1 )и (2 )читать и интерпретировать /etc/ld.so.conf
(, но это не тривиально, поскольку обычно включает ссылки на другие файлы или подстановочные знаки содержимого каталога ). Вы также можете анализировать вывод ldconfig -p
и накапливать перечисленные каталоги. Но остерегайтесь возможных конфликтов с существующими библиотеками и необходимости переделывать кеш ldconfig после изменения набора библиотек.