使用sed进行添加,复制/粘贴和添加?

时间:2019-04-18 21:55:35

标签: bash sed

我有一个充满ID的文件,我需要使用它来建立URL列表作为bash文件的一部分。

ids.txt如下:

    s_Foo
    p_Bar
    s1_Blah
    e_Yah

URL始终以其自己的路径结尾包含ID的文件名。

我一直在寻找如何使用sed进行追加和追加,但是无法弄清楚如何使用该工具进行复制/粘贴部分(\ 1)。 ID可以是任何东西,因此模式匹配似乎很难。在换行符之前重复一切似乎更明智?我不知道。

如何使用urls.txtsed创建类似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

2 个答案:

答案 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