python - 从python执行awk(将输出重定向到文件)
问题描述
以下 awk 命令将文件名附加到日志文件的每一行
awk '{print FILENAME " " $0}' progress.log > progress_temp.log
如何从 python 执行这个 awk 命令
能够执行以下命令
subprocess.run(["awk", "{print FILENAME \" \" $0}", "progress.log"])
但它不会将输出重定向到 progress_temp.log 并且不想在 python 中处理该部分。
解决方案
您可以指定stdout
参数以将输出保存到特定文件中:
import subprocess
with open('progress_temp.log', 'w') as fw:
subprocess.run(["awk", "{print FILENAME \" \" $0}", "progress.log"], stdout=fw)
推荐阅读
- slack - 是否可以为 Slack 定制 ServiceNow?
- java - 多对多关系的条件查询
- java - 当我点击验证码然后点击登录它不起作用
- angular - Highcharts 将左列添加到分组数据
- python-requests - Python 调用 PUT 请求:不支持“PUT”
- android - Flutter:ListView 在键盘弹出时处理小部件
- django - Django3多个文件提交到数据库
- arm - 在 ARM64 v8 上找不到真正的函数地址
- java - Mybatis 自定义类型处理程序被调用两次
- android - 房间数据库在 mac book pro m1 中不起作用