使用sed和文件作为输入替换字符串

时间:2019-01-04 21:10:10

标签: for-loop sed

我有一堆文件,位于许多我需要编辑的文件夹中。 每个文件夹都有一个子文件夹,该子文件夹中嵌套了另一个子文件夹。 我有文件夹名称(genome_list.txt),每个需要编辑的文件在所有文件夹中都具有相同的名称。 我想使用一个文件列表中的字符串,以从另一个文件中删除此类字符串。 这是我尝试失败的样子

for dir in $(cat genome_list.txt)
do 
cd ${dir}/ref_map_${dir}
for samplename in $(cat remove_from_samples.txt )
do 
sed -i 's/${samplename}//g' ../samples.txt
done
cd ../..
done

文件如下:

 cat remove_from_samples.txt
 -s CHJ111.fq
 -s CHJ727.fq

 cat samples.txt
 -s CHJ062.fq -s CHJ111.fq -s CHJ522.fq -s CHJ_528.fq -s CHJ727.fq

 #Desired output:
 -s CHJ062.fq -s CHJ522.fq -s CHJ_528.fq

0 个答案:

没有答案