#!/usr/bin/env bash mkdir -p ../mbsum_out echo -n "" > ../mbsum.log for i in *.nex.tar.gz; do base=$(basename "$i" .nex.tar.gz) echo "Processing ${base}" >> ../mbsum.log mkdir -p "${base}" tar -xzf "$i" -C "${base}" ## skip Average standard deviation of split frequencies > 0.01 dsf=$(awk '/Average standard deviation of split frequencies:/ {out=$7} END{print out+0}' "${base}"/*.nex.log 2>/dev/null) if awk -v d="$dsf" 'BEGIN{if (d >= 0.01) exit 0; exit 1}'; then echo "Skipping ${base} due to high DSF: ${dsf}" >> ../mbsum.log continue else mbsum "${base}"/*.t -n 1000 -o ../mbsum_out/"${base}".in >> ../mbsum.log 2>&1 fi rm -rf "${base}" echo "Completed ${base}" >> ../mbsum.log done echo "All done!"