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