Что означает, что команда `grep -m 1` в UNIX - PullRequest
0 голосов
/ 04 июня 2018

Я гуглил эту команду, но ее не было.

grep -m 1 "\[{" xxx.txt > xxx.txt

Однако я набрал эту команду, ошибки не произошло.На самом деле, не было и результата этой команды.

Пожалуйста, кто-нибудь объяснит мне, как работает эта команда?

1 Ответ

0 голосов
/ 04 июня 2018

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

PS: Некоторые команды, например sed, имеют выходной файл , параметр , которыйобходит эту проблему, не полагаясь на перенаправления оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...