Als ik het goed begrijp wil je van een bestandje zoals:
#blabla.txt
Jef Jefke
Jan Jantje
kunnen selecteren welke regel je print en van die regel dan het eerste woord.
Als je bijvoorbeeld de officiele naam van Jefke wilt opzoeken zou ik dat zo doen:
awk '/Jefke/{print $1}' blabla.txt
N.B.: jouw gebruik van cut snap ik niet, want je gebruikt cut -d: maar er zit helemaal geen ':' in je voorbeeldfile.
Als je het met cut wilt doen kan het ook, maar dan moet je ook grep gebruiken om de juiste regel te zoeken:
grep Jefke blabla.txt |cut -d' ' -f1
Als je het met sed wilt doen moet je alles achter de eerste spatie weggooien:
sed -n '/Jefke/s/ .*$//p' blabla.txt
Mijn keuze zou zijn awk, dat biedt de meeste mogelijkheden om later meer functionaliteiten toe te voegen. Ingewikkelde dingen met sed vind ik persoonlijk een drama.
Werken met variabelen:
naam='Jantje'
awk -v n=$naam '/n/{print $1}' blabla.txt