How do i call a unix command such as df -Ph | awk 'NR>=2 {print $6","$5","$4}' using subprocess. Would it make sense to use shlex.split here?
Thanks for any assistance here.
Just have subprocess pass it to a shell by setting shell=True:
subprocess.call('''df -Ph | awk 'NR>=2 {print $6","$5","$4}'''', shell=True)
Hi you can also do like this. Do not forget to import sub-process
import subprocess
def linuxOperation():
p = subprocess.Popen(["df","-Ph"], stdout=subprocess.PIPE)
p2 = subprocess.Popen(["awk",'NR>=2 {print $6","$5","$4}'], stdin=p.stdout, stdout=subprocess.PIPE, universal_newlines=True)
p.stdout.close()
out,err = p2.communicate()
print(out)
linuxOperation()