Я понял, как заставить работать оператор if then else
, но теперь он, кажется, сломался.= (Я не могу понять, что идет не так!
В ./
имеется до 10 каталогов с именем barcode01 - 09
и один с именем unclassified. Этот скрипт должен входить в каждый из них, подготовить каталог для~/Taxonomy.R
(Для этого требуется сжать все файлы fastq и поместить их в подкаталог с названием «data». Затем он запускает сценарий ~/Taxonomy.R
для создания файла метаданных для каждого.
Отредактируйте файл tmp.txt
, используя ls > tmp.txt
, затем echo "0" >> tmp.txt
, чтобы создать жертвенный список каталогов, которые скрипт должен прожевать, а затем остановить, когда он достигнет 0.
#!/bin/bash
source deactivate
source activate R-Env
value=(sed -n 1p tmp.txt)
if [ "$value" = "0" ]
then
rm tmp.txt
else
cd "$(sed -n 1p tmp.txt)"
gzip *fastq
#
for i in *.gz
do
mv "$i" "${i%.*}_R1.fastq.gz";
done
#this adds the direction identifier "R1" to all the fastq.gzips
mkdir Data
mv *gz Data
~/Taxonomy3.R
cd Data
mv * ..
cd ..
rm -r Data
cd ..
sed '1d' tmp.txt > tmp2.txt
mv tmp2.txt tmp.txt
fi
В настоящее время, он только создает файл метаданных в первом каталоге штрих-кодов.