[英]Regular Expression - Capture and Replace Select Sequences
拿下面的文件......
ABCD,1234,http://example.com/mpe.exthttp://example/xyz.ext
EFGH,5678,http://example.com/wer.exthttp://example/ljn.ext
请注意,“ext”是整个文件中的常量文件扩展名。
我正在寻找一个表达式将该文件转换为这样的...
ABCD,1234,http://example.com/mpe.ext
ABCD,1234,http://example/xyz.ext
EFGH,5678,http://example.com/wer.ext
EFGH,5678,http://example/ljn.ext
简而言之,我需要将所有内容捕获到网址中。 然后我需要捕获每个URL并将它们与前导捕获一起放在自己的行上。
我正在与sed一起工作,我无法弄清楚如何让它正常工作。 有任何想法吗?
如果每行中的URL数量保证为2,您可以使用:
sed -r "s/([A-Z0-9,]{10})(.+\.ext)(.+\.ext)/\1\2\n\1\3/" < input
这不要求前两个字段是特定宽度或限制逗号之间的(非逗号)字符集。 相反,它键入逗号本身。
sed 's/\(\([^,]*,\)\{2\}\)\(.*\.ext\)\(http:.*\)/\1\3\n\1\4/' inputfile.txt
您可以更改“2”以匹配任意数量的逗号分隔字段。
我此刻没有可用的sed。
岂不
sed -r 's/(....),(....),(.*\.ext)(http.*\.ext)/\1,\2,\3\n\1,\2,\4/g'
做诀窍?
编辑 : 删除了懒惰的量词
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.