在bash中,如何在文件名前加-A、-B和-C?与Python类似';s压缩函数

在bash中,如何在文件名前加-A、-B和-C?与Python类似';s压缩函数,bash,iterator,glob,prepend,Bash,Iterator,Glob,Prepend,我正在尝试在bash中执行以下操作: >>> import glob >>> FILES = glob.glob("testing_output/test/intermediate/metawrap_output/initial_binning/*_bins") >>> " ".join(map(lambda x:" ".join(x), zip(["-A", "-B", "-C"], FILES))) '-A testing_output/

我正在尝试在
bash
中执行以下操作:

>>> import glob
>>> FILES = glob.glob("testing_output/test/intermediate/metawrap_output/initial_binning/*_bins")
>>> " ".join(map(lambda x:" ".join(x), zip(["-A", "-B", "-C"], FILES)))
'-A testing_output/test/intermediate/metawrap_output/initial_binning/maxbin2_bins -B testing_output/test/intermediate/metawrap_output/initial_binning/concoct_bins -C testing_output/test/intermediate/metawrap_output/initial_binning/metabat2_bins'
我可以找到
文件
部分,但我不知道如何找到最后一行。我想这样做的原因是,有时
files
中的文件数将是
1-3
。希望是3,但有时是2或1

我的问题是,根据可用文件的数量,我如何基本上预先编写
-A
-B
-C

也许这会有帮助:

FILES=("testing_output/test/intermediate/metawrap_output/initial_binning/concoct_bins" "testing_output/test/intermediate/metawrap_output/initial_binning/maxbin2_bins" "testing_output/test/intermediate/metawrap_output/initial_binning/metabat2_bins")

echo ${FILES[*]}
testing_output/test/intermediate/metawrap_output/initial_binning/concoct_bins testing_output/test/intermediate/metawrap_output/initial_binning/maxbin2_bins testing_output/test/intermediate/metawrap_output/initial_binning/metabat2_bins
我能够做到这一点:

python -c """import glob; FILES = glob.glob('testing_output/test/intermediate/metawrap_output/initial_binning/*_bins'); print(' '.join(map(lambda x:' '.join(x), zip(['-A', '-B', '-C'], FILES))))"""
但我不知道如何将它保存到bash变量中

files=(“测试输出/test/intermediate/metawrap\u输出/initial\u binning/concoct\u bin”“测试输出/test/intermediate/metawrap\u输出/initial\u binning/maxbin2\u bin”“测试输出/test/intermediate/metawrap\u输出/initial\u binning/metabat2\u bin”)
files=("testing_output/test/intermediate/metawrap_output/initial_binning/concoct_bins" "testing_output/test/intermediate/metawrap_output/initial_binning/maxbin2_bins" "testing_output/test/intermediate/metawrap_output/initial_binning/metabat2_bins")
letters=({A..Z})

for ((i=0; i<${#files[@]}; i++)); do echo "-${letters[$i]} ${files[$i]}"; done
字母=({A..Z})
对于((i=0;i)您可以添加示例输入以便我们可以“玩”我们建议的解决方案吗?我检查了该链接,但解决方案不清楚,可能是重复的。@Nic3500如果有帮助,我已经添加了一个数组。
var=$(对于((i=0;i
-A testing_output/test/intermediate/metawrap_output/initial_binning/concoct_bins
-B testing_output/test/intermediate/metawrap_output/initial_binning/maxbin2_bins
-C testing_output/test/intermediate/metawrap_output/initial_binning/metabat2_bins