Вы можете использовать метод subprocess.check_output
и класс Popen
, хотя я не смог объединить обе операции конвейера.Частичное решение:
from subprocess import check_output, Popen, PIPE
from shlex import split
process = Popen(split('ip -o link show'), stdout=PIPE)
output = check_output(('awk', '{print $2}'), stdin=process.stdout)
return_code = process.wait()
print(output, return_code)
Таким образом, awk получает стандартный вывод process
, а результат сохраняется в переменной output
.