Rob*_*ino 4 python perl awk sed
可能重复:
Python相当于perl -pe?
有没有办法stdin用给定的Python命令处理每一行而不用样板代码设置东西?
使用Perl,我可以做类似的事情:
perl -pe '... command ...'
Run Code Online (Sandbox Code Playgroud)
我可以用Python做同样的事吗?
注意:使用许多其他工具可以实现类似的功能,例如sed,awk等......
在这方面,Python并不像Perl那样方便,但你可以-p使用Perl的标志fileinput,如下所示:
python -c 'for ln in __import__("fileinput").input(): print ln.rstrip()' files...
Run Code Online (Sandbox Code Playgroud)
这将按照Perl的顺序自动打开文件,或者如果没有提供文件则使用标准输入.替换print任何类型的处理.您可能需要多行才能执行任何有用的操作,但对于大多数shell而言,这不是问题.
请注意,rstrip需要避免源行中的换行符和print语句添加的换行符重复.如果您不打印该行,则无需调用它.