Shell
grep:輸入文件’X’也是輸出
我使用
ubuntu 14.4
, 並試圖將grep
命令的輸出重定向到文件,但我不斷收到此錯誤:
grep: input file 'X' is also the output
我執行以下命令:
grep -E -r -o -n r"%}(.*){%" > myfile
正如錯誤所述,它似乎以某種方式將輸入和輸出解釋為相同的名稱/obj。我搜尋了但找不到究竟是什麼問題?!
不能使用相同的文件作為
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