Pythonからawkコマンドラインスクリプトを呼び出したいと思いました。
os.system('''awk 'BEGIN{FS="\t";OFS="\n"} {a[$1]=a[$1] OFS $2 FS $3 FS $4} END{for (i in a) {print i a[i]}}' 2_lcsorted.txt > 2_locus_2.txt''')
次のエラーが発生します。
awk: cmd. line:1: BEGIN{FS=" ";OFS="
awk: cmd. line:1: ^ unterminated string
awk: cmd. line:1: BEGIN{FS=" ";OFS="
awk: cmd. line:1: ^ syntax error
256
subprocess.callを使用してサブプロセスを使用すると、別の種類のエラーが発生します。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
シェルで正常に実行され、私がやりたいのは、すべてのステップを1つのPythonスクリプトに結合することだけです。いくつかの明らかな理由から、特定の処理ステップにはawkの方が適しています。誰かがこれらのエラーの原因を教えてもらえますか?