微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我需要一个命令来列出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来提取第三个字段,即大小(以字节为单位).如果此值大于千兆字节的预计算值,则它会打印出包含文件大小和路径的整行.目录存在问题,因为它们没有大小字段.在他们的情况下,大小最终将包含一个月的名称.由于文本和数字在词汇上的比较方式,在这种情况下,if应始终评估为false.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐