Você pode tentar algo como
for filepath in $(ls -1 /home/travc/seq_v2/AgamP4_v2/samples/*/qualimap/qualimap.log);
do
sed -n '/Num mapped reads/p' $filepath >> /data/home/odkirling/Mali/Yeah1.txt
done
Isso precisará do caminho antes e depois de *
ser exatamente o mesmo.
Atualizar
Se os seus arquivos estiverem em sequência, digamos ERS224561
a ERS224591
, você poderá usar seq 61 91
. Neste caso, o script será
for filenum in $(seq -w 30 150);
do
sed -n '/Num mapped reads/p' "/home/travc/seq_v2/AgamP4_v2/samples/ERS2245$filenum/qualimap/qualimap.log" >> /data/home/odkirling/Mali/Yeah1.txt
done
Ou digamos que você tenha uma lista de diretórios em um arquivo de texto, no seguinte formato
ERS224591
ERS224592
ERS224523
ERS224525
.
.
.
então você pode fazer algo como
for dirname in $(cat dir_names.txt);
do
sed -n '/Num mapped reads/p' "/home/travc/seq_v2/AgamP4_v2/samples/$dirname/qualimap/qualimap.log" >> /data/home/odkirling/Mali/Yeah1.txt
done
dir_names.txt
é o arquivo que contém os nomes dos seus diretórios. Da mesma forma, você deve ser capaz de substituir qualquer parte do caminho do arquivo com base em seus requisitos.