私はubuntu 14.4
を使用して、grep
コマンドの出力をファイルにリダイレクトしようとしましたが、このエラーが発生し続けます。
grep: input file 'X' is also the output
私はこの問題を検索しましたが、ubuntu 12.4
のバグであることがわかりました。説明はありません。誰かがこの問題を解決するのを手伝ってくれませんか?
次のコマンドを実行します。
grep -E -r -o -n r"%}(.*){%" > myfile
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
次のように、grep
コマンドで--exclude
フィールドを使用できます。
grep --exclude=myfile -Eron r"%}(.*){%" > myfile
私はbashで方法を見つけました:cat >> IN_OUTPUT_FILE <<< "$(grep something IN_OUTPUT_FILE)"
<<<"..."
のコマンドが最初に実行されます。