을 사용 ubuntu 14.4
하고 grep
명령 출력을 파일 로 리디렉션하려고 시도 하지만이 오류가 계속 발생합니다.
grep: input file 'X' is also the output
이 문제를 검색하여 버그가 있음을 발견했으며 ubuntu 12.4
이에 대한 설명이 없습니다.
다음 명령을 실행합니다.
grep -E -r -o -n r"%}(.*){%" > myfile
나는 내 명령을 추가! 힌트 주셔서 감사합니다,하지만 다른 경로에서 파일을 사용하려고하면 파일을 선언하지 않으며 그렇게 할 수 없습니다!
—
Kasramvd
예를 들어 ../fi로 이것을 얻으십시오
—
Kasramvd
bash: ../f.txt: Permission denied
전체 명령 표시, 입력 파일이 무엇입니까, 아니면 파이프를 사용하고 있습니까?
—
jimmij
이제는 전체 디렉토리 구조를 재귀 적으로 그 리핑 하고이 구조에 이미 존재하는 파일에 결과를 추가하려고합니다. 문제는 쉘 (bash, zsh 등)이 먼저 리디렉션을 수행 한 다음 명령으로 돌아갑니다 (이 예제에서는 grep). 그것은 것을 의미
—
jimmij
grep
명령에 grep pattern file > file
이미 빈 파일을보고, 그래서 입력으로 아무런 관계가 없습니다. 그러나 >>
대신 대신 사용 >
하면 파일이 비어 있지 않지만 grep은 같은 줄 (패턴)을 반복해서 반복하여 처리 할 수 있으므로 오류를 발생시킵니다.
grep pattern file > file
작동하지 않습니다. grep의 입력 및 출력과 동일한 파일을 사용할 수 없습니다.