借助 awk,可以非常轻松地在 bash 终端中提取一列数据。
awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
我在 python 脚本中执行此操作,其中使用 bash 序列来提取我感兴趣的数据
os.system(" qstat | awk '{print $1}' ")
Run Code Online (Sandbox Code Playgroud)
如果我在特定的上下文中调用它,我会得到一列数字。我想将所有这些数字加载到 python 列表中。这很容易做到吗?
使用subprocess而不是os.system():
import subprocess
proc = subprocess.Popen('ls | awk "{print $1}"', shell=True, stdout=subprocess.PIPE)
stdout_value = proc.communicate()[0]
for item in stdout_value.split('\n'):
print item
Run Code Online (Sandbox Code Playgroud)