Замена строк с использованием sed и файла в качестве входных данных - PullRequest
0 голосов
/ 05 января 2019

У меня есть куча файлов в разных папках, которые мне нужно отредактировать. Каждая папка имеет подпапку, в которую вложена другая подпапка. У меня есть имена папок (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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...