Comment puis-je imprimer tous les caractères jusqu'à un certain modèle(à l'exclusion du modèle lui-même) à l'aide de grep/awk/sed.

Par exemple

echo "abc-1234a :" | grep <do-something>

juste l'impression abc-1234a

Bienvenue sur StackOverflow! Cela sonne comme une XY Problème. vous vraiment essaye de faire?
Quel est le motif? Le colon? Vide-virgule? Faites-vous affaire avec une seule ligne d'entrée uniquement (comme avec ton echo), ou êtes-vous de traiter avec de multiples lignes de l'entrée? Si c'est un multi-ligne d'entrée, vous êtes à la recherche pour les lignes 1..N, où N est la première ligne qui contient le motif, en ignorant le reste, ou vous êtes à la recherche pour le segment initial de chaque ligne jusqu'à le modèle de la ligne?
Merci les gars! C'est les caractères de la première ligne de l'entrée avant de le côlon. L'entrée peut avoir plusieurs ligne.
Ajout d'une mise à jour de ma réponse à la poignée multi-ligne d'entrée.

OriginalL'auteur user1224949 | 2012-09-10