我有一个这样的文件名列表:
T0rain.Zfp691_0895.2_v2_deBruijn.txt
Train.Hbp1_2241.2_v2_deBruijn.txt
Train.Zfp740_0925.2_v2_deBruijn.txt
Train.Hbp1_2241.3_v1_deBruijn.txt
Train.Zfp740_0925.3_v1_deBruijn.txt
Train.Hic1_2816.2_v1_deBruijn.txt
Train.Zic1_0991.2_v1_deBruijn.txt
我想提取火车之间的所有名称。和_这样:
Zfp691
Hbp1
Zfp740
Hbp1
zfp740
Hic1
Zic1
比我有另一个文件列表:
Zfp691.pwm.txt
Hbp1.pwm.txt
Zfp740.pwm.txt
Hbp1.pwm.txt
zfp740.pwm.txt
Hic1.pwm.txt
Zic1.pwm.txt
Zic1.pwm.RC.txt
我想提取所有匹配的案例,例如:
Train.Zic1_0991.2_v1_deBruijn.txt 匹配 Zic1.pwm.txt 和 Zic1.pwm.RC.txt
这些输出参数被传递给我的 R 脚本。所以SH
脚本应该返回参数=
$i (Train.Zic1_0991.2_v1_deBruijn.txt) + $j Zic1.pwm.txt
$i (Train.Zic1_0991.2_v1_deBruijn.txt) + $j Zic1.pwm.RC.txt
我不知道这是否可能。我开始尝试这个:
#!/bin/bash
for i in input/*/testtrain/Train*deBruijn.txt
do
$i
done
for j in input/All_PWMs/*/*.txt
do
$j
done
echo qsub script3.sh $i $j
在这里,我尝试将参数提供给 script3.sh,但这只会返回 1 个组合。任何人的提示或提示?喜欢如何匹配/grep名称。或者传递参数的不同方式。
Script3.sh 用于在 linux 命令行中调用 R。因此,args 只是通过此文件传递以调用具有 debruijn 和 pwm 的 1 个组合的单个 R 作业。
r 脚本需要 1 个 debruijn.txt 和 1 个 pwm.txt 才能计算出我需要的值。所以对于这个例子,我将得到 2 种组合:
debruijn.txt and pwm1.txt -----> pass the args to R as combination 1
debruijn.txt and pwm2.txt -----> pass the args to R as combination 2