Как работают `& gt;` и `& gt; & gt; '?

Я нашел проблему. Привод представляет собой Seagate POS.

объясняется здесь http://www.linuxjournal.com/node/1005886

1
задан 23 August 2017 в 11:11

3 ответа

Когда оболочка видит перенаправление, сначала открывает соответствующие файлы, прежде чем выполнять какую-либо из задействованных команд. Таким образом, когда вы делаете:

foo file.txt | bar > file.txt

Перенаправление на file.txt заставляет его усекаться до запуска foo и может читать file.txt. На стороне примечания, поэтому вы не можете этого сделать:

sed 'blah' file.txt > file.txt

И почему sed имеет возможность редактирования на месте.

Наконец, выполните:

.. | cat > file.txt

- бесполезное использование cat, особенно, если вы пытаетесь читать из file.txt ранее.

Если вы хотите изменить файл на месте, a бесполезное использование cat . Возможно, вы сможете использовать трюки sed или awk с редактированием на месте.

9
ответ дан 24 May 2018 в 00:15

> - перенаправитель (оператор), отправляющий вывод на что-то другое (ввод следующей команды, принтер ..)

В вашем случае вывод идет в файл file.txt, если это файл уже существует, если он не был создан.

> является оператором append, если file.txt уже существует, вывод добавляется к концу файл. если файл не существует, он создается, а вывод записывается в новый файл, такой же, как > (перенаправитель).

3
ответ дан 24 May 2018 в 00:15
  • 1
    Кажется, что это понял ОП. Путаница, похоже, связана только с тем же файлом, что и с обеих сторон операторов > и >>. – bzlm 12 January 2015 в 16:29

Вы можете использовать Vim в режиме Ex:

ex -sc '%!rev' -cx file.txt
% выбрать все строки ! выполнить команду x сохранить и закрыть
0
ответ дан 24 May 2018 в 00:15

Другие вопросы по тегам:

Похожие вопросы: