Эта команда выполняет чтение и запись в один и тот же файл, но не слева направо.Фактически > xxx.txt
запускает first , очищая файл до того, как команда grep
начнет его читать.Поэтому нет выхода.Это можно исправить, сохранив результат во временном файле, а затем переименовав его в исходное имя.
PS: Некоторые команды, например sed
, имеют выходной файл , параметр , которыйобходит эту проблему, не полагаясь на перенаправления оболочки.