Вы можете попробовать что-то вроде
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
Для этого потребуется, чтобы путь до и после *
был точно таким же.
Обновление
Если ваши файлы расположены в последовательности, скажем, от ERS224561
до ERS224591
, вы можете использовать seq 61 91
. В этом случае скрипт будет
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
Или допустим, у вас есть список каталогов в текстовом файле в следующем формате
ERS224591
ERS224592
ERS224523
ERS224525
.
.
.
тогда вы можете сделать что-то вроде
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
— это файл, содержащий имена ваших каталогов. Точно так же вы должны иметь возможность заменить любую часть пути к файлу в зависимости от ваших требований.
Точный ответ зависит от того, что вы ищете:
libicu
пакета(libicu63
в Debian 10 )или наличие /usr/lib/*/libicui18n.so.*
; libicu-dev
, или существование /usr/lib/*/libicui18n.so
, или с помощью pkg-config
, наличие пакета icu-i18n
(pkg-config icu-i18n
должно быть успешным ); icu-devtools
или наличие icuinfo
наPATH
(command -v icuinfo
должно завершиться успешно ).