【问题标题】:How to pass multiple inputs in command-line?如何在命令行中传递多个输入?
【发布时间】:2020-12-03 23:10:48
【问题描述】:

我正在尝试执行一个合并染色体数据的命令。因为我需要合并来自染色体 1..22 和 X 和 Y 的数据,所以我想看看是否有更好的方法来做到这一点。我可以在下面提供myfile.list 来合并染色体数据。

plink1.9 --bfile --merge-list myfile.list --make-bed --out mymerged

myfile.list 是一个文本文件,其中包含:

data.chr1.b
data.chr2.b
...
... 
data.chr22.b
data.chrX.b
data.chrY.b

我不想提供一个文本文件myfile.list,而是想在这个命令中使用一个包含所有数据名称的变量。这样做的更好方法是什么?像这样?

plink1.9 --bfile --merge-list cat `echo "data.chr"{1..22}. X. Y.` --make-bed --out mymerged 

【问题讨论】:

    标签: linux bash shell unix command-line


    【解决方案1】:

    使用进程替换

    plink1.9 --bfile --merge-list <(for i in {1..22} X Y; do echo data.chr$i; done) --make-bed --out mymerged 
    

    【讨论】:

      猜你喜欢
      • 2012-06-02
      • 2011-03-15
      • 2017-09-22
      • 2014-09-11
      • 2016-10-26
      • 1970-01-01
      • 2015-04-20
      • 2013-03-23
      • 1970-01-01
      相关资源
      最近更新 更多