cat file | grep -v "\.png" >new_file_without_pngs
Обновленный для комментария:
egrep -iv "\.(png|jpg|jpeg|gif|etc)" file >new_file
POSIX не определяет зарезервированных имен файлов насколько я знаю. Конечно, я не могу думать ни о каких системах, которые имеют temp
как зарезервированное имя файла, даже за пределами POSIX. Что касается скобок, более вероятно, что Ваша кодировка не соответствует между клиентом и сервером (или кодирование не поддерживает символ, который Вы пытаетесь использовать).