Я пытаюсь использовать bash
для проверки целостности конкретной загрузки .bam
файлов. Есть две части (bash 1), выполняющая команду для проверки файлов .bam
, которая создает файлы .txt
, и создает process.log
. Эта часть работает отлично, я получаю ошибку в проверке каждого из файлов .txt
на строку (SUCCESS)
, и если она найдена, то в process.log
этот файл проверяется, если он не найден, то этот файл поврежден. В настоящее время терминал отображает состояние, а затем дает ошибку. Спасибо :).bash для проверки целостности типа файла и создания журнала
Баш часть 1
logfile=/home/cmccabe/Desktop/NGS/API/5-4-2016/process.log
for f in /home/cmccabe/Desktop/NGS/API/5-4-2016/*.bam ; do
echo "Start bam validation creation: $(date) - File: $f"
bname=`basename $f`
pref=${bname%%.bam}
bam validate --in $f --verbose 2> /home/cmccabe/Desktop/NGS/API/5-4-2016/bam_validation/${pref}_validation.txt
echo "End bam validation creation: $(date) - File: $f"
done >> "$logfile"
echo "Start verifying $(date) - File: $file"
value=$(grep -ic "(SUCCESS)" /home/cmccabe/Desktop/NGS/API/5-4-2016/bam_validation/*.txt)
Баш часть 2
if [ $value -eq 1 ]
then
echo "bam file is verified and complete"
else
echo "bam is corrupt, check log for reason"
echo "End bam verify: $(date) - File: $f"
fi
done >> "$logfile"
Erorr
Start verifying Thu May 5 12:49:10 CDT 2016 - File:
/home/cmccabe/Desktop/loop.sh: line 11: [: too many arguments
bam is corrupt, check log for reason
End bam verify: Thu May 5 12:49:10 CDT 2016 - File: /home/cmccabe/Desktop/NGS/API/5-4-2016/NA19240.bam
/home/cmccabe/Desktop/loop.sh: line 18: syntax error near unexpected token `done'
/home/cmccabe/Desktop/loop.sh: line 18: `done >> "$logfile"'
файл, который создается для проверки УСПЕХА
Number of records read = 24723078
Number of valid records = 24723078
TotalReads(e6) 24.72
MappedReads(e6) 24.57
PairedReads(e6) 0.00
ProperPair(e6) 0.00
DuplicateReads(e6) 7.33
QCFailureReads(e6) 0.00
MappingRate(%) 99.38
PairedReads(%) 0.00
ProperPair(%) 0.00
DupRate(%) 29.66
QCFailRate(%) 0.00
TotalBases(e6) 4332.46
BasesInMappedReads(e6) 4325.68
Returning: 0 (SUCCESS)
Я внес изменения, как было предложено, и я не получаю никаких ошибок, однако сценарий не заканчивается, он никогда не закрывается. Без файла журнала «done >>» «no output не приводит к журналу. Я также отредактирую свой пост с кодом. Большое спасибо :). – Chris