#!/bin/bash
read -d '' inputs
samples=($inputs)
declare -A groups
echo "您输入的样本中input样本有:"
for sample in "${samples[@]}"; do
if [[ $sample =~ input.(.*)_24[0-9][0-9][0-9][0-9] ]]; then
group=${BASH_REMATCH[1]}
groups["$group"]+="\n$sample"
echo $sample
else
ungrouped+=("$sample")
fi
done
for sample in "${ungrouped[@]}"; do
matchinfo='0'
for group in "${!groups[@]}"; do
if [[ $sample =~ "$group" ]]; then
groups["$group"]+="\n$sample"
matchinfo='1'
fi
done
if [[ $matchinfo == '0' ]];then
ungrouped1+=("$sample")
fi
done
echo -e "\n分组结果为:"
for group in "${!groups[@]}"; do
echo -e "Group $group: ${groups[$group]}\n"
done
echo -e "\n未匹配样本为:"
for ungrouped_sample in "${ungrouped1[@]}"; do
echo "$ungrouped_sample"
done