Я использую ubuntu 14.4
и пытаюсь перенаправить вывод команды grep
в файл, но я продолжаю получать эту ошибку:
grep: input file 'X' is also the output
Я искал эту проблему и только узнал, что это ошибка в ubuntu 12.4
и о ней нет, может ли кто-нибудь помочь мне разобраться в этой проблеме?
Я запускаю следующую команду:
grep -E -r -o -nr"%}(.*){%" > myfile
Невозможно использовать тот же файл, что и вход и выход для 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