我有一个包含多个 URL 的文件。但不幸的是,所有的 URL 都在一行中。
猫 url_file
http://transfer.sh/PIGfk/my-file.002554http://transfer.sh/Ep9Md/my-file.002555http://transfer.sh/Ep9Md/my-file.002556http://transfer.sh/Ep9Md/my-file.002557
预期输出:
http://transfer.sh/PIGfk/my-file.002554
http://transfer.sh/Ep9Md/my-file.002555
http://transfer.sh/Ep9Md/my-file.002556
http://transfer.sh/Ep9Md/my-file.002557
答案1
GNU grep
grep -oP 'http://.+?(?=http://|$)' url_file
答案2
答案3
您可以使用这个 GNUsed
命令:
sed 's,http://,\n&,g' url_file | tail -n +2
它会查找模式http://
并在其前面插入一个 CR。
tail -n +2
跳过此 sed 命令插入的第一行(空)。
答案4
我通过以下3种方法完成了
python
#!/usr/bin/python
import re
k=open('filename','r')
for i in k:
print re.sub("http","\nhttp",i)
perl
perl -pne "s/http/\nhttp/g" filename
sed command
sed "s/http/\n&/g" filename
输出
http://transfer.sh/PIGfk/my-file.002554
http://transfer.sh/Ep9Md/my-file.002555
http://transfer.sh/Ep9Md/my-file.002556
http://transfer.sh/Ep9Md/my-file.002557