Как заменить слово в диапазонах, заданных с помощью команды sed?

Кажется, что большинство зеркал только зеркалирует выпуски или архивы пакетов, но не ежедневные ISO.

Я собрал поиск Google, который вызывает некоторые зеркала, которые вы могли бы попробовать. Я не видел ни одного, кто в Азии. Ниже приведены первые несколько результатов.

http://ftp.heanet.ie/mirrors/download.sourceforge.net/ubuntu-cdimage/daily-live/current/
http://ftp.df.lkams.kernel.org/pub/ubuntu-cdimage/daily-live/current/
http://mirrors.med.harvard.edu/ubuntu-cdimage/daily-live/current/
http://147.32.127.222/MIRRORS/ubuntu-cdimage/daily-live/current/
http://ftp.sh.cvut.cz/MIRRORS/ubuntu-cdimage/daily-live/current/
http://mirror.leaseweb.com/ubuntu-cdimage/daily-live/current/
1
задан 1 February 2015 в 11:15

1 ответ

Другим способом помощи расширения брекета вы можете сделать:

sed '-es/abc/xyz/'{8..6} '-es/abc/xyz/'{4..2} <<<"$str"

Обратите внимание, что диапазон всегда должен быть max первым в {max#..min#}, сначала должны указываться первые максимальные диапазоны .

Вы также можете указать, какой диапазон позиций следует заменить в формате {x,y,z}, где номера должны быть x>y>z:

sed '-es/abc/xyz/'{8,6,4,2} <<<"$str"

Обратите внимание, что если вы используете одинаковое число {x,x} это вызовет проблему и снова и снова заменит позицию x (для этого существует s/abc/xyz/X альтернатива, где X - номер позиции).

I узнал это из ответа Stéphane Chazelas на Unix.SE

2
ответ дан 23 May 2018 в 23:40

Другие вопросы по тегам:

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