如何在不执行命令的情况下将任何命令的输出重定向到文本文件?例如,我想在运行之前确认会被压缩的文件
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
如何在不执行命令的情况下将任何命令的输出重定向到文本文件?例如,我想在运行之前确认会被压缩的文件
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
为了实现命令的一般性,您需要检查命令是否提供了一个标志,允许它模拟操作而不是执行它。例如,使用
apt
,您有一个-s
or--simulate
标志。使用rsync
,您可以--dry-run
选择。这样的标志告诉程序“假装”在做这项工作,但实际上并没有这样做,所以只需报告。不确定是否
zip
有这样的选择。您可能需要有效地创建 .zip 文件,如果需要,最终在临时文件夹中,以获取将(正在)压缩的内容的列表。另一方面, just anls data/*/*/point_clouds
已经检索到将被压缩的文件列表。对于您的
find
示例:您已经自己提供了答案。目前,您只是在写出一个文件列表。如果您想有效地删除它们,您可以添加该--exec rm
选项。