Wenn ich es richtig verstanden habe, gibt es auf der einen Seite eine bestimmte Anzahl von Servern, deren Namen bekannt sind. Auf der anderen Seite gibt es zwei Arten von Usern - solche, die mit y0 beginnen und solche, die nicht mit y0 beginnen. Dann würde ich einfach ein Textdatei serverliste.txt erstellen, wo in jeder Zeile ein Server aufgeführt wird. Zusätzlich existiert die Datei output.txt in der ursprünglichen Form (ohne die Trennung zwischen y0 und nicht-y0). Dann bietet sich das folgende Skript an:
#!/bin/bash
while read i
do
grep $i output.txt | grep ^y0 > ${i}_Y-Nummern.txt
grep $i output.txt | grep -v ^y0 > ${i}_Andere.txt
done < serverlist.txt
Hier wird die Datei serverlist.txt sequentiell gelesen und jedes Element (respektive jeder Server) einmal als Schleifenvariable gesetzt. Dann wird output.txt nach Zeilen mit dem Vorkommen den jeweiligen Servernamen durchsucht, und diese Ergebnisse dann nochmal nach y0- und nicht-y0-Usern. Die Ergebnisse werden dann in Dateien, die nach Servernamen und Benutzertyp benannt sind, gespeichert.
Sorry, wenn das jetzt etwas unverständlich ist, ich hab das fünfte Bier in Arbeit