Logs

將命令的“看不見”輸出保存到文件

  • April 22, 2020

我有一個程序,每次執行時都會返回一些內容。其中一些內容可能已在上次執行期間顯示。

foo
bar
baz

在下一次執行時,它可能會顯示兩條“舊行”和一條“新行”:

bar
baz
house

是否可以過濾掉這些命令的以前看不見的內容並將其保存到文件中,以便我最終得到

foo
bar
baz
house

請注意,我非常不定期地執行此命令,因此兩次執行之間可能有幾分鐘到幾天的時間。

如果您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

引用自:https://unix.stackexchange.com/questions/581734