텍스트 파일이 계속 손상되는 이유는 무엇입니까?

텍스트 파일이 계속 손상되는 이유는 무엇입니까?

중요하지 않은 파일을 여러 개 파괴했는데 이유를 모르겠습니다. 나는 다음과 같은 명령을 실행해 왔습니다.

tr -sc 'A-Za-z' '\n' > somefile.txt | less

출력이 없고(END가 깜박이는 빈 페이지) 확인 후 파일의 모든 내용이 삭제됩니다.

전체 텍스트 파일을 삭제하는 또 다른 명령

grep someword > someotherfile.txt  | less

답변1

>연산자는 "명령의 출력을 가져오고 지정된 파일을 자른 다음 명령의 출력을 해당 파일에 쓴다는 의미입니다.

명령줄 읽기 당신이 원하는 것은 <"이 파일에서 표준 입력을 읽고 이를 명령에 공급하는 것"입니다.

답변2

I/O 리디렉션에 익숙해지면 noclobber셸 설정을 활성화하는 것이 "더 안전하다"는 것을 알게 될 것입니다. 이렇게 하면 파일이 실수로 손상되는 것을 방지할 수 있습니다. 쉘 매뉴얼 페이지를 참조하고http://en.wikipedia.org/wiki/Clobbering

답변3

이러한 명령은 사용자가 지시했기 때문에 이미 텍스트 파일을 손상시켰습니다( > file기존 파일은 쓰기 전에 잘립니다). 당신은 아마도 <"표준 입력 리디렉션"을 의미하는 를 찾고 있을 것입니다.~에서여기".

관련 정보