Pendant que vous pouvez utiliser sed, et je ne généralement utiliser sed si je besoin de quelque chose qui est en écriture seule (qui est, il n'a besoin que de travailler et n'a pas besoin d'être maintenu). Je trouve la bibliothèque d'expressions régulières Python plus accessible (et donne la possibilité d'ajouter des constructions plus puissantes).
import re
import sys
def href_repl(matcher):
"replace the matched URL with a hyperlink"
# here you could analyze the URL further and make exceptions, etc
# to how you did the substitution. For now, do a simple
# substitution.
href = matcher.group(0)
return '<a href="{href}">{href}</a>'.format(**vars())
text = open(sys.argv[1]).read()
url_pattern = re.compile(re.escape('http://') + '[^ ]*')
sys.stdout.write(url_pattern.sub(href_repl, text))
Personnellement, je trouve cela beaucoup plus facile à lire et à maintenir.
fonctionne comme un charme! – polym