我正在寻找最简单的方法来tar目录中的最新文件。下面的命令找到了正确的文件,但我不知道如何从输出中对它进行tar:
find /home/user -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "
而且我必须输出进度。
答案 0 :(得分: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
答案 1 :(得分: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
中的tar
选项用于在包中附加文件