Как использовать команду awk в python - PullRequest
0 голосов
/ 19 марта 2020

Мне нужно написать скрипт python, чтобы найти свободное место в папке / var / tmp в linux. Поэтому я использую команду awk, чтобы отфильтровать только доступное пространство.

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

Вывод должен быть 4.7G, но он приходит / bin / sh: 1: 4.7G: не найден, а возвращаемое значение равно 127 а не 0.

1 Ответ

3 голосов
/ 19 марта 2020

Помимо того, что python должно быть достаточно для того, чтобы делать то, что awk делает здесь, то, что вы делаете с

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

, это для запуска команды awk и расширения ее вывода как часть командной строки $(...). Поскольку это единственная часть командной строки, оболочка пытается выполнить вывод awk как команду.

Если вы действительно хотите запустить awk из вашего python скрипт, удалите $( и ) из вашей команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...