tr a < /etc/hosts | sort -r pr -d > /etc/hosts

tr a < /etc/hosts | sort -r pr -d > /etc/hosts

이 줄에서:

tr a A < /etc/hosts | sort -r |pr -d > /etc/hosts 

예상되는 결과는 무엇입니까? 소문자 "a"가 대문자 "A"로 변경된다는 것을 알고 있지만 다음에는 어떻게 되나요? 동일한 파일 이름으로 리디렉션하면 원본 파일을 덮어쓰게 됩니까?

답변1

예상되는 결과는 빈 /etc/hosts파일입니다.

리디렉션이 발생 > /etc/hosts하고파일 자르기 프로그램이 실행되기 전에tr파일에서 읽기를 시작합니다 .

에 출력을 쓰려면 /etc/hosts파일 복사본을 사용하거나(또는 나중에 출력 파일을 해당 위치로 이동) 다음을 사용할 수 있습니다.spongemoreutils의 명령, 표준 입력을 받아 파일에 씁니다.

tr a A < /etc/hosts | sort -r | pr -d | sponge /etc/hosts

이 경우 각 "a"는 다음 /etc/hosts과 같습니다.교체됨"A"를 사용하면 모든 행이로케일을 기준으로 역순으로 정렬,각 줄 사이에 빈 줄이 삽입됩니다., 결과를 에 넣습니다 /etc/hosts.


다음 사항도 유용할 수 있습니다.

관련 정보