echo $i
em vez de tentar abri-lo como um arquivo:
for i in $(cat aaa)
do
A= $(echo $1 | awk -F '_' '{print $1}')
B= $(echo $i | awk -F '_' '{print $2}')
grep $B bigfile.txt > $A
done
No entanto, se estiver interessado, você pode substituir esse loop inteiro por um awk
one-liner:
awk -F '_' '{system("grep "$2" bigfile.txt > "$1)}' aaa