"tr"(번역 명령)을 실행하고 출력을 침묵시키는 방법은 무엇입니까?

"tr"(번역 명령)을 실행하고 출력을 침묵시키는 방법은 무엇입니까?

아래와 같이 파일의 텍스트를 바꾸는 tr명령을 사용하고 있습니다.sedtr '\n' ' ' < afile.txt | sed '$s/ $/\n/'여기. 큰 파일에서 실행하면 콘솔에 출력 대체 텍스트가 넘치게 됩니다.

그래서 내 필요는 명령을 실행하지만 출력을 침묵시키는 것입니다. 내 구글 검색여기전화 tr --help해도 도움이 안되어서 여기에 문의드립니다.

답변1

파이프의 출력을 폐기하고 싶지는 않을 것입니다. 터미널이 가득 차도록 두기보다는 어딘가에 저장하고 싶을 가능성이 더 높습니다.

나는 이것이 당신이 찾고 있는 것이라고 생각합니다:

$ tr '\n' ' ' < afile.txt | sed '$s/ $/\n/' >anotherfile.txt

이렇게 하면 파이프 결과가 anotherfile.txt터미널이 아닌 파일에 저장됩니다. 그런 다음 자유롭게 검사하고 mv anotherfile.txt afile.txt원하는 결과에 적합하다면 원본 파일( )을 해당 파일로 바꿀 수 있습니다.

>파이프의 끝은출력 리디렉션sed표준 출력 스트림을 지정된 파일로 리디렉션합니다 . "반대 방식"으로 작동합니다.입력 리디렉션 <afile.txt이전에는 표준 입력 스트림으로 콘텐츠를 보내기 위해 파이프에서 사용되었습니다 tr.

답변2

일반적으로 말하면 할 수 있습니다command출력을 음소거합니다 .통과

command 1>/dev/null

stderr에 기록된 내용은 계속 표시됩니다. stderr에 대한 출력도 비활성화하려면 다음을 사용하십시오.

command 1>/dev/null 2>&1

더 짧게:

command &>/dev/null

파일 설명자 리디렉션에 대해 더 알고 싶다면 Redirecting Standard Output and Standard Errorbash의 매뉴얼 페이지를 살펴보세요.

관련 정보