перенаправить в тот же файл, что и исходный файл, обработанный командой

  1. Перенаправление здесь запрещено. cat не позволяет? Но не перенаправление не зависит от какой-либо команды, запущенной с ним?

     $ cat bk > bk cat: bk: input file is output file 
  2. Почему следующее перенаправление пуст файл:

     $ less bk > bk 

    awk также работает так же, как и в отношении перенаправления. awk – тот, с которым я действительно нашел проблему, в то время как приведенные выше примеры не имеют смысла

В общем, как правильно использовать перенаправление?

  • Захват вывода без перенаправления и оставьте его на терминале тоже
  • Перенаправить вывод программы в файл не удается
  • Вывод команды перенаправления на / dev / null
  • Почему я могу добавить файл, но не перезаписать его?
  • no stderr output при использовании stdbuf -o 0 | & tee log
  • Почему некоторые linux-инструменты записывают в STDERR вместо STDOUT по умолчанию?
  • использование аргумента командной строки с перенаправлением
  • Как перенаправить вывод cowsay на вход zwrite
  • One Solution collect form web for “перенаправить в тот же файл, что и исходный файл, обработанный командой”

    Проблема в том, что перенаправление вывода убивает файл до того, как будет запущено less :

     open("file", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 dup2(3, 1) = 1 close(3) = 0 execve("/usr/bin/less", ["less", "-WNS", "file"], [/* 102 vars */]) = 0 

    Обычный переназначение перенастройки перезаписывает файл. O_TRUNC (см. man 2 open ) удаляет содержимое файла.

    Linux и Unix - лучшая ОС в мире.