我想將這行包含在python腳本中。os.system抱怨大括號
!#/bin/bash/env python
import os
os.system("paste <(awk '!/^($|[:space:]*#)/{print $0}' file1) <(awk '!/^($|[:space:]*#)/{print $0} file2) > out_file")
當從bash直接運行時,該命令是完全正確的。然而,在腳本中,我得到:
sh: -c: line0: syntax error near unexpected token `('
的問題仍然存在,使用時簡單:
os.system("paste <(cat file1) > output_file")
任何想法?
它看起來像你的默認shell是'sh',而不是'bash'。而且'sh'命令行都是無效的。 – abarnert
@MartijnPieters:他沒有使用'subprocess',他使用'os.system'。在Unix系統中,它只是調用libc函數'system',它使用...好,這取決於您的操作系統,我們不知道OP使用的操作系統。 – abarnert
@abarnert:對,確實;我的錯。我將指向['man system'](http://linux.die.net/man/3/system),然後指出它使用'/ bin/sh -c'。 –