Da der EingangWarum scheitert dieses `grep -o` und wie soll ich es umgehen?
echo abc123def | grep -o '[0-9]*'
auf einem Computer (mit GNU grep 2.5.4), gibt diese 123
, und auf einem anderen (mit GNU grep 2.5.1) gibt sie den leeren String. Gibt es eine Erklärung dafür, warum Grep 2.5.1 hier fehlschlägt, oder ist es nur ein Fehler? Ich benutze grep -o
auf diese Weise in einem Bash-Skript, das ich gerne auf verschiedenen Computern ausführen könnte (die verschiedene Versionen von Grep haben können). Gibt es einen "richtigen Weg" für konsistentes Verhalten?
Warum sollten Sie eine Regex verwenden, die überhaupt keine Zeichen enthält? Ich würde erwarten, dass es zu jeder Zeile passt, nicht nur zu Zeilen mit Ziffern. –