tar 目录中有进度的最新文件的 cpf
tar cpf for the most recent file in directory with progress
我正在寻找 tar 目录中最新文件的最简单方法。下面的命令找到了正确的文件,但我不知道如何从输出中 tar 它:
find /home/user -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "
而且我必须输出进度。
要使用 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
你可以管它:
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
请注意 tar
中的 -r
选项用于在您的包中附加文件
我正在寻找 tar 目录中最新文件的最简单方法。下面的命令找到了正确的文件,但我不知道如何从输出中 tar 它:
find /home/user -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "
而且我必须输出进度。
要使用 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
你可以管它:
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
请注意 tar
中的 -r
选项用于在您的包中附加文件