bash - 使用 sed 预先添加、复制/粘贴和追加?
问题描述
我有一个充满 ID 的文件,我需要使用它来构建一个 URL 列表作为 bash 文件的一部分。
ids.txt
如下:
s_Foo
p_Bar
s1_Blah
e_Yah
URL 将始终以包含 ID 的文件名结尾,位于其自己的路径中。
我已经四处寻找如何使用 前置和附加sed
,但无法弄清楚使用该工具进行复制/粘贴部分(\1)。ID 可以是任何东西,所以模式匹配似乎很难。在换行之前重复所有内容似乎更明智?我不知道。
如何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
解决方案
$ 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
推荐阅读
- c# - 如何创建服务绑定 HttpClient 的实例?
- javascript - 未捕获的 TypeError 无法读取属性“0”
- powerdns - PDNS 将未知条目转发到另一个名称服务器
- angular - FileReader:获取文件名
- process - 无法呈现 Camunda 流程测试覆盖率
- python - 仅当通过 python firebase SDK 添加文档时,才在 angularfire 上更新空文档
- javascript - Javascript按钮没有响应
- c# - OData 4.0 WebAPI Asp.Net Core 自定义导航链接
- python - 有没有办法修复 while 循环不使用 time.sleep 更新 tkinter 标签?
- visual-studio-code - 如何在 Visual Studio Code 中导入自定义 python 模块以完成代码?