sed / perl式をPython式に置き換えるにはどうすればよいですか(一致する行のみを変更して印刷しますか?)

sed / perl式をPython式に置き換えるにはどうすればよいですか(一致する行のみを変更して印刷しますか?)

私は尋ねたこの問題perl交換方法を学びますsed

今、同じことをする次のコマンドがどのように見えるかを知りたいですpython

sed -n '/patternmatch/s%stuff%changed%p' file

perl -ne 'if ( /patternmatch/ ) { s%stuff%changed%; print }' file

一行で書けますか?選ぶ?

ベストアンサー1

楽しみとして:

python -c 'import sys,fileinput,re;sys.stdout.writelines(re.sub("stuff", "changed", l, 1) for l in fileinput.input() if re.search("patternmatch", l))' file

これをしないでください:) sed//を使用してくださいperlawk

おすすめ記事