Повторное редактирование файла в цикле ужасно неэффективно. Вы, вероятно, хотите что-то вроде
awk -v old_url="test" '{ print "s%" old_url "%" $0 "%g"; old_url = $0 }' urls.txt |
tac |
sed -i~ - ca-sample.conf
Ваш sed
может не принять сценарий при стандартном вводе;возможно сохраните сгенерированный скрипт во временном файле и передайте его вместо -
.
, который я вставил в tac
, чтобы новый URL-адрес не был сразу же заменен новым. В зависимости от того, как выглядят ваши данные и чего вы на самом деле пытаетесь достичь, это может быть совершенно неверно и / или потребовать дополнительных настроек (привязок регулярных выражений, с одной стороны?)
Подробная печать и длинная sleep
кажется больше отвлекающим, чем полезным, хотя я полагаю, что вы могли бы взломать их обратно, если бы вы действительно этого хотели. Также обратите внимание на цитирование - вы цитируете буквальный текст (который не нуждается в цитировании) и оставляете переменные вне кавычек (что в точности должно быть внутри кавычек, чтобы цитаты были полезны привсе).