Sto riscontrando problemi nell'effettuare l'escape delle chiamate alla shell da Python, utilizzando il comando os.system. Sto cercando di fare l'equivalente di:gestisce correttamente l'escaping di shell da Python utilizzando os.system
$ cat test | sort --stable -t $'\t' -k1,1
dall'interno Python, passaggio che alla shell.
Ho provato:
import os
cmd = "cat %s | sort --stable -t $'\\t' -k1,1" %("test")
os.system(cmd)
ma ottengo l'errore:
sort: multi-character tab `$\\t'
anche se funziona correttamente dalla shell. Ho provato a sfuggire allo \t
aggiungendo una barra in più in Python, ma mi manca qualcos'altro. Qualche idea su come può essere risolto?
grazie.
è possibile passare il nome del file come arg per ordinare, e saltare il 'cat file |'. In bocca al lupo. – shellter