を使用してubuntu 14.4
、grep
コマンドの出力をファイルにリダイレクトしようとしましたが、このエラーが発生し続けます。
grep: input file 'X' is also the output
私はこの問題を検索しましたが、それがバグでubuntu 12.4
あり、何も説明されていないことがわかりました。誰かがこの問題を理解するのを手伝ってくれませんか?
次のコマンドを実行します。
grep -E -r -o -n r"%}(.*){%" > myfile
コマンドを追加します!ヒントをありがとう、しかし、私が他のパスでファイルを使用しようとすると、それは述語ではなく、それを行うことはできません!
—
Kasramvd 2014年
たとえば、.. / fiでこれを取得
—
Kasramvd 2014年
bash: ../f.txt: Permission denied
show fullコマンド、入力ファイルは何ですか、それともパイプを使用していますか?
—
jimmij 2014年
今私はあなたが実際にディレクトリ構造全体を再帰的に模索していることを理解し、この構造にすでに存在するファイルに結果を追加したいと考えています。問題は、シェル(bash、zshなど)が最初にリダイレクトを実行してから、コマンド(この例ではgrep)に戻ることです。これは
—
jimmij 2014年
grep
、コマンドでgrep pattern file > file
既に空のファイルが表示されるため、入力として何もないことを意味します。ただし、の>>
代わりにを使用すると>
、ファイルは空ではありませんが、grepは同じ行(パターン)を繰り返し再帰的に処理する可能性があるため、エラーをスローします。
grep pattern file > file
としているなら、それはうまくいきません。grepの入力と出力に同じファイルを使用することはできません。