Bash의 파일에 티를 추가하는 방법은 무엇입니까?


73

이것들은 터미널에 입력하는 명령입니다

echo -e "First Line" | tee ~/output.log
echo -e "Second Line" | tee ~/output.log

output.log 파일을 보면 '두 번째 줄'만 보입니다. 티가 파일을 지우지 않고 추가하도록하려면 어떻게해야합니까?

파일에서 이것을 볼 수 있기를 바랍니다.

First Line
Second Line

다른 방법으로 접근해야합니까?

감사!

답변:


118
echo -e "First Line" | tee ~/output.log
echo -e "Second Line" | tee -a ~/output.log
                            ^^

에서 남자 티 :

   Copy standard input to each FILE, and also to standard output.

   -a, --append
          append to the given FILEs, do not overwrite

참고 : -a계속 사용하면 언급 된 파일이 생성됩니다.


12
검색 자의 이익을 위해 -a 수정자는 '추가'용이거나 끝에 추가합니다. -a없이 tee 명령은 파일을 덮어 씁니다.
chili555

1
"-a"옵션이 포함되어있을 때 티가 여전히 파일을 생성하지 않습니까?
Bryson S.

@ chili555 : 파일의 끝 부분이 아닌 파일의 시작 부분에 추가 할 수 있습니까? 파일을 덮어 쓰지 않습니까? 감사.
Саша Черных

2
@ СашаЧерных 내가 알고있는 것은 없습니다. 그것은 새로운 질문에 대한 훌륭한 주제처럼 들립니다!
chili555

1
@ Саша Черных 'cat source.file destination.file | tee destination.file '은 destination.file의 시작 부분에 source.file을 추가합니다. 이 방법의 유일한 장점은 tee가 두 파일을 모두 stdout하기 위해 인쇄한다는 것입니다.
Bruno9779
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.