Я пытался найти ответ на свой вопрос, просматривая похожие темы, но безуспешно. Может быть, я упустил из виду. Любая помощь приветствуется!
Итак, у меня есть сотни папок в моем текущем каталоге с именами из папки 1000 в папку 1500. В каждой папке у меня есть один файл .fastq с другим именем (Lib1.fastq, Lib2.fastq и т. Д.). Я хочу продолжить каждый из этих файлов в одной команде цикла, запустив сценарий оболочки.
Вот мой сценарий оболочки (script.sh) для одного файла (он создает выходные данные, которые продолжаются), который я запускаю в своем терминале:
#!/bin/sh
bowtie --threads 4 -v 2 -m 10 -a genome Lib1.fastq --sam > Lib1.sam
samtools view -h -o Lib1.sam Lib1.bam
sort -k 3,3 -k 4,4n Lib1.sam > Lib1.sam.sorted
# ...etc
Вот цикл, который я пытаюсь также выполнить в сценарии оболочки (здесь я начал только с простой команды проверки «head» и только с 5 первыми папками), которую я запускаю из моего текущего каталога, где находятся все папки расположены:
#!/bin/sh
for file in ./folder{1000..1005}
do
head -10 *.fastq
done
Но в результате я получаю:
head: *.fastq: No such file or directory
head: *.fastq: No such file or directory
head: *.fastq: No such file or directory
head: *.fastq: No such file or directory
head: *.fastq: No such file or directory
Итак, даже простая команда проверки не работает для меня в цикле. Как-то не вижу файл. Но если я запускаю команду прямо в одной из папок:
MacBook-Air-Maxim:folder1000 maxim$ head -10 *.fastq
тогда я получаю правильный результат (отображаются первые 10 строк файла).
Может ли кто-нибудь предложить способ обработки всех файлов наиболее удобным способом?
Большое спасибо и очень жаль, я только учусь.