Добавлять, копировать / вставлять и добавлять с помощью sed?

#bash #sed

#bash #sed

Вопрос:

У меня есть файл, полный идентификаторов, которые мне нужно использовать для создания списка URL-адресов как части файла bash.

ids.txt заключается в следующем:

     s_Foo
    p_Bar
    s1_Blah
    e_Yah
 

URL-адреса всегда будут заканчиваться именем файла, содержащим идентификатор, по собственному пути.

Я искал, как добавлять и добавлять, используя sed , но не могу понять, как выполнить дублирующую часть копирования / вставки ( 1) с помощью этого инструмента. Идентификатор может быть любым, поэтому сопоставление с шаблоном кажется сложным. Дублирование всего до разрыва строки кажется более разумным? Я не знаю.

Как мне создать что-то подобное с urls.txt помощью sed or awk ? Возможно ли это?

     https://link.domain.com/list/s_Foo/s_Foo_meta.xml
    https://link.domain.com/list/p_Bar/p_Bar_meta.xml
    https://link.domain.com/list/s1_Blah/s1_Blah_meta.xml
    https://link.domain.com/list/e_Yah/e_Yah_meta.xml
 

Ответ №1:

 $ sed 's#.*#https://link.domain.com/list/amp;/amp;_meta.xml#' ids.txt
https://link.domain.com/list/s_Foo/s_Foo_meta.xml
https://link.domain.com/list/p_Bar/p_Bar_meta.xml
https://link.domain.com/list/s1_Blah/s1_Blah_meta.xml
https://link.domain.com/list/e_Yah/e_Yah_meta.xml

$ awk '{sub(/.*/,"https://link.domain.com/list/amp;/amp;_meta.xml")}1' ids.txt
https://link.domain.com/list/s_Foo/s_Foo_meta.xml
https://link.domain.com/list/p_Bar/p_Bar_meta.xml
https://link.domain.com/list/s1_Blah/s1_Blah_meta.xml
https://link.domain.com/list/e_Yah/e_Yah_meta.xml
 

Ответ №2:

попробуйте gnu sed:

 sed -E 's/S /https://link.domain.com/list/amp;/amp;_meta.xml' ids.txt >urls.txt