OFS = "\ t"の二重引用符とのパラレル競合のため、二重引用符でコマンドが失敗します。どんな提案でも動作させることができますか?ありがとう!gnuパラレルでの二重引用符の二重対の衝突
ls *bed | parallel -j 10 "intersectBed -a good-genes.gff -b {} -c | awk 'BEGIN{OFS="\t";} {print $1,$9,$4,$5,$7,$10}' > test.txt"
OFS = "\ t"の二重引用符とのパラレル競合のため、二重引用符でコマンドが失敗します。どんな提案でも動作させることができますか?ありがとう!gnuパラレルでの二重引用符の二重対の衝突
ls *bed | parallel -j 10 "intersectBed -a good-genes.gff -b {} -c | awk 'BEGIN{OFS="\t";} {print $1,$9,$4,$5,$7,$10}' > test.txt"
あなたは\
で引用符で"
をエスケープすることができます
ls *bed | parallel -j 10 "intersectBed -a good-genes.gff -b {} -c | awk 'BEGIN{OFS=\"\t\";} {print $1,$9,$4,$5,$7,$10}' > test.txt"
をあなたは「外部」二重引用符を持っているので、あなたもawkの$
変数とのトラブルを持っているつもりです。私はチャンクにそれを破るだろう:
awk_body='BEGIN{OFS="\t";} {print $1,$9,$4,$5,$7,$10}'
ls *bed | parallel -j 10 "intersectBed -a good-genes.gff -b {} -c | awk '$awk_body' > test.txt"
偉大な、おかげでグレン! – user1269298
GNUパラレルは、あなたのスクリプトの一部を引用してOKです。
ls *bed | parallel -j 10 intersectBed -a good-genes.gff -b {} -c \| awk \''BEGIN{OFS="\t\";} {print $1,$9,$4,$5,$7,$10}'\' > test.txt
は(最後の言葉を引用>実行中のすべてのジョブとして競合状態が発生しますしますtest.txtに書き込もうとすると、一意の名前({} .outまたはjob {#}。out)を指定するか、> outside(すべてのジョブのすべての出力がここで終わります))。
ありがとうzigdon – user1269298
クール - それはあなたのために働いた場合、答えを受け入れる必要があります:) – zigdon