grep: входной файл 'X' также является выходным

Я использую ubuntu 14.4 и пытаюсь перенаправить вывод команды grep в файл, но я продолжаю получать эту ошибку:

grep: input file 'X' is also the output

Я искал эту проблему и только узнал, что это ошибка в ubuntu 12.4 и о ней нет, может ли кто-нибудь помочь мне разобраться в этой проблеме?

Я запускаю следующую команду:

 grep -E -r -o -nr"%}(.*){%" > myfile 

2 Solutions collect form web for “grep: входной файл 'X' также является выходным”

Невозможно использовать тот же файл, что и вход и выход для grep . Вы можете рассмотреть следующие альтернативы:

  • временный файл

     grep pattern file > tmp_file mv tmp_file file 
  • СЕПГ

     sed -i -n '/pattern/p' file 
  • поместить весь файл в переменную (не яркая идея для больших файлов)

     x=$(cat file); echo "$x" | grep pattern > file 

Вы можете использовать поле --exclude в команде grep следующим образом:

 grep --exclude=myfile -Eron r"%}(.*){%" > myfile 
  • Автовоспроизведение SD-карты после размонтирования
  • Как отключить заставку и управление питанием в Linux по командной строке?
  • Автоматическая установка Linux (Debian / Ubuntu)
  • Ярлыки приложений
  • Как сделать работу Wi-Fi на ноутбуке Dell Inspiron 14R под управлением Ubuntu 12.10?
  • Как перенаправить исходящий трафик на другой ip с помощью iptables
  • Получение черных элементов управления при запуске linux на vmware на окнах
  • Почему это сетевое подключение так медленно?
  • Второй GPU не отображается в `lspci`
  • Конфигурация iptables
  • Ввод сетевого интерфейса вверх / вниз из командной строки
  • Linux и Unix - лучшая ОС в мире.