#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