GNU Parallelによって実行されているスクリプトに、空白やその他の文字を含むテキストを渡す必要があります。ここで 引用符で囲まれたargsをGNU Parallelに渡す方法
は非常に単純な例です:$ seq 1 3 | parallel echo "Quoted ' (text)"
上記の例の出力は以下となり、これは私がしなければ
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
しかし、このすべてが動作します:
seq 1 3 | parallel echo "\"Quoted ' (text)\""
私が起こりますPythonスクリプトからこれを実行するため、引数を渡す前に、私はスクリプトの中でそれらを二重引用符で囲んでいます次のとおりです。
args = ["Some arg", "Another arg", "etc."]
args = ' '.join(pipes.quote(pipes.quote(arg)) for arg in args)
しかし、それはきれいな解決策のようではありません。
誰かがGNU Parallelに引数を渡すより良い方法を知っていますか?
ありがとうございます!
http://www.gnu.org/s/parallel/man.html#QUOTING
それも、あなたがあなたの質問に書き込み非常にエラーメッセージが言及:
「きれいな解決策ではありませんが、問題なく動作しますか?がんばろう。 – shellter