bash - gnu并行中的两对双引号冲突

标签 bash awk parallel-processing

由于并行双引号与 OFS="\t"的双引号冲突,命令失败。有什么建议可以让它发挥作用吗?谢谢!

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 $ 变量的问题。我会把它分成几 block :

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"

关于bash - gnu并行中的两对双引号冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080502/

相关文章:

linux - 如何删除文本文件中带有模式的单词

mysql - BASH:从MySQL获取记录有空格的数据

awk - 使用awk计算负指数

python - 为什么进程不加入也不运行?

java - 如何使用 Java 8 Streams 并行处理列表中的元素以对它们进行求和

parallel-processing - julia 任务中的变量范围

bash - 为什么是 [[ ! ! expr ]] 等价于 [[ ! expr ]] 在 bash 中?

bash - 以编程方式执行到 docker 容器中

bash - 从 ip 字符串中删除/32

bash:模式 x 和 y 之间的单独行 block