我有一个充满ID的文件,我需要使用它来建立URL列表作为bash文件的一部分。
ids.txt
如下:
s_Foo
p_Bar
s1_Blah
e_Yah
URL始终以其自己的路径结尾包含ID的文件名。
我一直在寻找如何使用sed
进行追加和追加,但是无法弄清楚如何使用该工具进行复制/粘贴部分(\ 1)。 ID可以是任何东西,因此模式匹配似乎很难。在换行符之前重复一切似乎更明智?我不知道。
如何使用urls.txt
或sed
创建类似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
答案 0 :(得分:1)
$ sed 's#.*#https://link.domain.com/list/&/&_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/&/&_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
答案 1 :(得分:1)
尝试gnu sed:
sed -E 's/\S+/https://link.domain.com/list/&/&_meta.xml' ids.txt >urls.txt