В linux у вас есть несколько команд, и каждая из них имеет свои особенности. - Ваша задача - найти правильный инструмент для данной работы. ;)
Вы не указали конкретную проблему, поэтому я должен придерживаться общего подхода.
Возможно, самый простой способ - использовать perl напрямую:
cat file.txt | perl -wne '/([\w]+)/i and print $1'
Также прочитайте man grep
для некоторых опций grep:
-o, --only-matching
Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
Вы можете использовать, например:
cat file.txt | grep -o '\w*'
Но что лучше, действительно зависит от вашей проблемы. Если вам нравится php, вы можете использовать php даже из командной строки.