通过 sed 或 awk 使用数字查找和替换路径 url
finding and replacing path url using numbers by sed or awk
我有一个大文件包含超过 200000 个数字未排序
我想根据前两个数字将 url 目录 1/2/ 添加到我的链接中,例如我的文件:all.mp3
19471.mp3
19472.mp3
28463.mp3
28464.mp3
35437.mp3
35435.mp3
预计看起来像这样
http://www.example.com/files/1/9/19471.mp3
http://www.example.com/files/1/9/19472.mp3
http://www.example.com/files/2/8/28463.mp3
http://www.example.com/files/2/8/28464.mp3
http://www.example.com/files/3/5/35437.mp3
http://www.example.com/files/3/5/35435.mp3
您可以使用 sed 来执行此操作:
$ sed -r 's~(.)(.)~http://www.example.com/files///&~' file
http://www.example.com/files/1/9/19471.mp3
http://www.example.com/files/1/9/19472.mp3
http://www.example.com/files/2/8/28463.mp3
http://www.example.com/files/2/8/28464.mp3
http://www.example.com/files/3/5/35437.mp3
http://www.example.com/files/3/5/35435.mp3
捕获前两个字符并将它们用于替换字符串(</code> 和 <code>
)。 &
指的是整场比赛。
如有必要,您可以在捕获组中使用 [0-9]
而不是 .
来使匹配更严格一些。如果您的 sed 版本不支持扩展的正则表达式(-r
或 -E
开关),您必须转义括号:
$ sed 's~\(.\)\(.\)~http://www.example.com/files///&~' file
我有一个大文件包含超过 200000 个数字未排序 我想根据前两个数字将 url 目录 1/2/ 添加到我的链接中,例如我的文件:all.mp3
19471.mp3
19472.mp3
28463.mp3
28464.mp3
35437.mp3
35435.mp3
预计看起来像这样
http://www.example.com/files/1/9/19471.mp3
http://www.example.com/files/1/9/19472.mp3
http://www.example.com/files/2/8/28463.mp3
http://www.example.com/files/2/8/28464.mp3
http://www.example.com/files/3/5/35437.mp3
http://www.example.com/files/3/5/35435.mp3
您可以使用 sed 来执行此操作:
$ sed -r 's~(.)(.)~http://www.example.com/files///&~' file
http://www.example.com/files/1/9/19471.mp3
http://www.example.com/files/1/9/19472.mp3
http://www.example.com/files/2/8/28463.mp3
http://www.example.com/files/2/8/28464.mp3
http://www.example.com/files/3/5/35437.mp3
http://www.example.com/files/3/5/35435.mp3
捕获前两个字符并将它们用于替换字符串(</code> 和 <code>
)。 &
指的是整场比赛。
如有必要,您可以在捕获组中使用 [0-9]
而不是 .
来使匹配更严格一些。如果您的 sed 版本不支持扩展的正则表达式(-r
或 -E
开关),您必须转义括号:
$ sed 's~\(.\)\(.\)~http://www.example.com/files///&~' file