sed - SED命令如下
问题描述
使用 SED,我想将文本文件中的数百行从:
输入示例:
https://mysite.demo.com/topics/en-gb/3
https://mysite.demo.com/topics/en-gb/436
https://mysite.demo.com/topics/en-gb/9167
进入
输出:
https://mysite.demo.com/topics/en-gb/3/pdf/3.pdf
https://mysite.demo.com/topics/en-gb/436/pdf/436.pdf
https://mysite.demo.com/topics/en-gb/9167/pdf/9167.pdf
我想知道我会使用什么 SED 命令来执行此操作?
非常感谢
解决方案
根据您的示例输入和预期输出,此sed
命令将起作用:
sed -E 's,(.*\/)([0-9]+$),\1\2\/pdf\/\2\.pdf,g' text_file
输出:
https://mysite.demo.com/topics/en-gb/3/pdf/3.pdf
https://mysite.demo.com/topics/en-gb/436/pdf/436.pdf
https://mysite.demo.com/topics/en-gb/9167/pdf/9167.pdf
推荐阅读
- javascript - LazyLoad 自定义 CSS 砌体网格
- android - 我的邮递员 base64 编码字符串抛出“MessageTooBig”错误
- laravel - 如何更改自定义 FormRequest 的 http 响应状态?
- ffmpeg - FFmpeg drawtext 和使用 sendcmd/zmq 的实时坐标
- html - 引导程序 4:添加行或添加 col-12 之间的区别?
- c# - 从快速操作和重构中提取缺少的接口
- java - Android 片段中的 Mapbox SDK
- rest - REST 响应为 {}
- php - 如何检查您是否在分页单篇文章的最后一页?
- html - 如何动态分隔表格(以 div 开始,以其他 div 结束)