Можно еще так:
while read STRING;
do
# в переменной STRING находится строка из файла
# ее-то (переменную) и обрабатываем...
done<file
Или так:
cat file | sed '<commands>'
Или этак:
cat file | awk '<commands>'
А чем, собственно, вам не угодили способы, указанные вами?
Они имеют такое же право на существование, как и все остальные,
все зависит от ситуации и предпочтений того, кто ими пользуется.
Маны же читайте следующие:
man awk
man sed
man tr
man *grep (grep, egrep, fgrep ...)
А еще в каком-нибудь поисковике сделайте запрос "обработка текстов в linux", почитайте и, пожалуй, купите книжку А. Шевеля, на которую вывалится немало ссылок.
P.S.: Оп-паньки, пока писал свой опус, gyn61 успел дать ответ. Прошу плагиатором не считать :-)