linux - 如何在命令行中传递多个输入?
问题描述
我正在尝试执行一个合并染色体数据的命令。因为我需要合并来自染色体 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
解决方案
使用进程替换
plink1.9 --bfile --merge-list <(for i in {1..22} X Y; do echo data.chr$i; done) --make-bed --out mymerged
推荐阅读
- kotlin - 用分隔符连接 3 个字符串
- arrays - 由于字符串存储为字符数组,那么为什么在这个问题中存储字符串而不初始化字符数组?
- mysql - MySQL - 如何从列中列出 JSON 数据的所有键名
- sql-server - PowerShell - 如果所有 Invoke-SQL 命令都成功,如何提交范围
- python - 使用命令为多个用户分配角色 - discord.py
- javascript - 通过 JS 的样式底部和左侧计算不起作用
- javascript - React + TypeScript:滚动事件类型不可分配给 window.addEventListener
- javascript - WebSocket connection.send 只触发一次
- javascript - 根据清单应用流程并单击按钮
- html - 从 ACF 组中获取字段作为 vars