当我将不同的文件作为变量作为输入循环时,我将程序的输出写入不同的目录时遇到问题。我在命令行中运行它。问题是我不知道如何告诉"将具有更改的文件名的输出放入除输入目录之外的另一个目录中的程序。
这是命令,虽然它是一种生物信息学工具,需要特定的输入文件格式。对不起,我无法给出一个更好的例子。尽管如此,该程序在名为deeptools2的软件工具箱中称为computeMatrix。
命令:
for f in ~/my/path/*spc_files*; do computeMatrix reference-point--referencePoint center --regionsFileName /target/region.bed --binSize 500 --scoreFileName "$f" **--outFileName "$f.matrix"** ; done \
到目前为止,我尝试使用命令basename来获取文件名,然后在此之前更改目录。但我无法弄明白:
如果可以组合
命令的正确顺序是什么(例如:
outputFile =' basename" $ f"',"〜/ new / targetDir /' basename $ f'")
可能还有其他选择来解决我无法想到/找到的问题。