Po prostu próbujesz uzyskać listę wszystkich użytkowników z/etc/passwd? Jeśli tak, wierzę, że byłoby to łatwiejsze rozwiązanie:
cut -d":" -f1 /etc/passwd
Edit:
W przypadku tylko chcesz listę użytkowników zdefiniowanych przez użytkownika (nie użytkowników systemu), można użyć jednego z nich:
grep -E ":[0-9]{4,6}:[0-9]{4,6}:" /etc/passwd | cut -d: -f1
^ta zakłada system używa 1000 i aż do UID i GID dla zdefiniowanych przez użytkownika użytkowników
grep /home /etc/passwd | cut -d: -f1
^Zakłada to, że każdy użytkownik zdefiniowany przez użytkownika ma katalog osobisty.
Inne rozwiązania zależą od bardziej szczegółowych kryteriów i ustawień systemu.
Co jest nie tak z parsowaniem tekstu? – jthill