2013-05-29 3 views
0

Я пытаюсь объединить набор файлов с петлей For через каталог файлов.Bash For Loop с несколькими входными файлами с таким же именем

Файлы выглядят как samename.csfasta и samename.qual, только расширения разные.

Команда для выполнения программы является:

solid2fastq samename.csfasta samename.qual -o samename 

Я искал для примера в Интернете, но не нашел.

если бы только один вход:

for f in $FILES 
do 
    echo "Processing $f file....." 
    solid2fastq $f -o $f 

done 

ТИА

+0

Я не понимаю. как выглядит вход в сценарий? что такое $ FILES? –

+0

Итак, в начале скрипта я направляю его в папку с файлами. ФАЙЛЫ = ~/папка/папка/* Я не включил это извините. Используя ответ из pipi, я записываю cd в каталог с файлами в скрипте. –

ответ

2

Если файлы (.cfasta и .qual) соединены затем код как следующий

FILES=(*.csfasta) 
for f in "${FILES[@]}" 
do 
    base=$(basename "$f" .csfasta) 
    echo "Processing $f file....." 
    solid2fastq "$f" "${base}.qual" -o "$base" 
done 

должна быть полезной.

+0

Sweet! Спасибо, Гипи. Работает!! –

Смежные вопросы