gpt4 book ai didi

linux - 如何列出 SVN 存储库中大于 1 GB 的文件

转载 作者:可可西里 更新时间:2023-11-01 11:49:48 26 4
gpt4 key购买 nike

我需要一个命令来列出 SVN 存储库中大于 1GB 的文件。我如何实现这一目标,如果有人可以帮助我提供确切的命令,那就太好了。

我正在使用命令行客户端来实现这一点。

感谢您的帮助。

编辑内容:

我试过这个命令:

svn list --verbose --recursive file://path/to/repo | du -sh * | grep G 

此命令返回大于 1 gig 的文件是否安全,或者我们是否有任何替代命令可以运行?

最佳答案

du -sh * 不是您想要的。它将在当前目录上运行,而不是在通过标准输入提供的列表上运行。不过,您的总体思路是正确的。

svn list -v -R file://path/to/repo >svnlist.txt 将创建一个文本文件,其中包含关于 repo 中每个文件的详细信息。每行的第三项是文件大小,以字节为单位。您要做的是过滤掉所有第三个字段的值为 1073741824 或更大的行。

gig=$(( 1024*1024*1024 ))
while read line
do
size=$(echo $line | awk '{print $3}')
[[ $size -ge $gig ]] && echo $line
done <svnlist.txt

这使用 awk 提取第三个字段,即大小(以字节为单位)。如果此值大于预先计算的千兆字节值,则它会打印出包含文件大小和路径的整行。目录存在一个问题,因为它们没有大小字段。在他们的例子中,size 最终将包含月份的名称。由于文本和数字在词法上进行比较的方式,在这种情况下,if 的计算结果应始终为 false。

关于linux - 如何列出 SVN 存储库中大于 1 GB 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com