명령의 "보이지 않는" 출력을 파일에 저장

명령의 "보이지 않는" 출력을 파일에 저장

실행할 때마다 무언가를 반환하는 프로그램이 있습니다. 이 콘텐츠 중 일부는 이전 실행 중에 표시되었을 수 있습니다.

foo
bar
baz

다음 실행에서는 두 개의 "이전 줄"과 하나의 "새 줄"이 표시될 수 있습니다.

bar
baz
house

이 명령에서 이전에 보지 못한 콘텐츠를 필터링하고 파일에 저장하여 다음과 같이 끝낼 수 있습니까?

foo
bar
baz
house

이 명령은 매우 불규칙하게 실행되므로 실행 사이에 몇 분에서 며칠이 걸릴 수 있습니다.

답변1

sponge패키지 에서 설치한 경우 moreutils:

$ printf '%s\n' foo bar baz > log                                    # first call
$ printf '%s\n' bar baz house | grep -v -F -x -f log | sponge -a log # subsequent calls
$ cat log
foo
bar
baz
house

관련 정보