コマンド出力をファイルにリダイレクトしよubuntu 14.4
うとしていますが、次のエラーが発生し続けます。grep
grep: input file 'X' is also the output
次のコマンドを実行します。
grep -E -r -o -n r"%}(.*){%" > myfile
エラーによると、入力と出力を同じ名前/オブジェクトとして解釈するようです。検索してみましたが、何が問題なのかわかりませんでしたか? !
ベストアンサー1
入力と出力に同じファイルを使用することはできませんgrep
。次の選択肢を検討してください。
一時ファイル
grep pattern file > tmp_file mv tmp_file file
sed
sed -i -n '/pattern/p' file
ファイル全体を変数に入れます(大容量ファイルには適していません)。
x=$(cat file); echo "$x" | grep pattern > file