如何在不执行命令的情况下将任何命令的输出重定向到文本文件?例如,我想在运行之前确认要压缩的文件
zip -r point_clouds.zip data/*/*/point_clouds
通过将输出写入文本文件,例如
zip -r point_clouds.zip data/*/*/point_clouds | tee test.txt
或删除操作
find . -name "*.tif" -type 'f' -size -160k | tee test.txt
答案1
为了实现命令的一般功能,您需要检查命令是否提供了允许其模拟操作而不是执行操作的标志。例如,使用apt
,您有一个-s
或--simulate
标志。使用rsync
,您有--dry-run
选项。这样的标志告诉程序“假装”执行任务,但实际上并不执行,因此只需报告即可。
不确定是否zip
有这样的选项。您可能需要有效地创建 .zip 文件,最终在需要时放在临时文件夹中,以获取将要(正在)压缩的文件列表。另一方面,只需一个ls data/*/*/point_clouds
就可以检索将要压缩的文件列表。
举个find
例子:您自己已经给出了答案。目前,您只是列出了文件列表。如果您想有效地删除它们,可以添加选项--exec rm
。