【问题标题】:How to use awk command in python如何在python中使用awk命令
【发布时间】:2020-06-30 15:50:43
【问题描述】:

我必须编写一个 python 脚本来在 linux 的 /var/tmp 文件夹中查找可用空间。所以我使用 awk 命令只过滤掉可用空间。

import subprocess
subprocess.call("$(awk 'NR==2 {print $4}' file1.txt)")

输出应该是 4.7G 但它来了 /bin/sh: 1: 4.7G: 未找到 并且返回值为 127 而不是 0。

【问题讨论】:

  • 在 Stack Overflow,我们不接受代码、输出和数据的屏幕截图。请编辑您的问题并将输出添加为代码格式的文本。
  • 你为什么要这样做? Python 完全能够打开文件和字符串处理。写一个函数。
  • 请复制并粘贴输出作为文本,而不是显示屏幕截图。图片中的代码和问题中显示为文本的代码应该匹配。

标签: python python-3.x linux bash awk


【解决方案1】:

除了python 应该足以做awk 在这里所做的事情之外,你正在做什么

$(awk 'NR==2 {print $4}' file1.txt)

是运行awk 命令并将其输出扩展为$(...) 命令行的一部分。由于这是命令行的唯一部分,shell 尝试将awk 的输出作为命令执行。

如果您真的想从您的 python 脚本中运行 awk,请从您的命令中删除 $()

【讨论】:

  • 谢谢博多。这真的很有帮助。我是 python 脚本和 linux 的新手。我试图弄清楚将 awk 命令的输出存储在一个变量中,但它存储了返回值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
相关资源
最近更新 更多