2

我正在寻找 tar 目录中最新文件的最简单方法。下面的命令找到了正确的文件,但我不知道如何从输出中解压它:

find /home/user -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "

而且我必须输出进度。

4

2 回答 2

1

要使用 GNU tar 附加创建 tar 文件:

| xargs tar --checkpoint=1024 --checkpoint-action=ttyout='%u KB approximately written\r' -cf file.tar

更新: 带有进度条的 GNU tar(带pv):

find /home/user -type f -printf '%T@ %s %p\n' | sort -n | tail -1 | while read t s p; do tar -cf - "$p" | pv -s "$s" > file.tar; done

输出(示例):

400MB 0:00:22 [74.2MB/s] [========================>          ] 77% ETA 0:00:15
于 2017-05-24T17:43:09.337 回答
0

你可以管道它:

find /home/user -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " | tar -rf recent.tar

然后,创建一个压缩格式

gzip recent.tar

或较旧的软件包扩展

gzip -c recent.tar > recent.tgz

请注意,-r选项 intar用于在您的包中附加文件

于 2017-05-24T18:23:13.410 回答