我有一个包含多个子目录的目录,所有子目录都包含一个名为sample.fas的文件。在这里,我想在子目录的每个文件sample.fas上运行一个python脚本(script.py),导出包含每个子目录名称的输出。运行一个递归地指示输入/输出路径/名称的python脚本
但是,脚本需要用户指示输入的路径/名称,而不是自动创建输出(需要指定路径/名称)。就像这样:
script.py sample_1.fas output_1a.nex output_1b.fas
我尝试使用此线,但没有成功:
while find . -name '*.fas'; # find the *fas files
do python script.py $*.fas > /path/output_1a output_1b; # run the script and export the two outputs
done
所以,我想创建一个从所有子目录读取每个sample.fas一个bash(递归运行脚本),并将输出与其子目录的名称一起导出。
我将不胜感激任何帮助。
好的,你传递给脚本的是什么参数?输入文件和输出文件?或者是输出生成到标准输出,你必须将它自己重定向到一个文件? – rasebo
嗨@rasebo,目录有这样的结构: ├──script.py ├──O017_BR_RO │└──sample.fas ├──O080_BR_SC │└──sample.fas – Sergio
是的,这是必要的将输出重定向到一个文件(* nex格式)。另外,子目录具有唯一的名称。 – Sergio