首页 > 解决方案 > 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命令将起作用:

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

推荐阅读