【发布时间】:2010-05-30 08:13:49
【问题描述】:
我在 cygwin 上运行了以下命令:
找到 /cygdrive/d/tmp/* -maxdepth 0 -mtime -150 -类型 d | xargs du --max-depth=0 > 文件夹大小报告.csv
我打算用这个命令做以下事情:
对于/d/tmp/ 下在过去 150 天内修改的每个文件夹,检查其总大小(包括其中的文件)并将其报告给文件 foldersizesreport.csv
但是现在这对我来说还不够好,因为它在每个
/d/tmp/subfolder1/somefile.properties /d/tmp/subfolder2/somefile.properties /d/tmp/subfolder3/somefile.properties /d/tmp/subfolder4/somefile.properties
如您所见,在每个子文件夹X 中都有一个名为 somefile.properties 的文件
里面有一个属性SOMEPROPKEY=3808612800100(以及其他属性)
这是以毫秒为单位的时间,我需要更改命令,以便它只包含在整个计算中而不是 -mtime -150
subfolderX 里面有一个文件somefile.properties 其中SOMEPROPKEY=3808612800100 是以毫秒为单位的未来时间,如果值SOMEPROPKEY=23948948 是过去的,那么根本不包括该文件夹
在foldersizesreport.csv 中,因为它与我无关。
所以结果报告应该是这样的:
/d/tmp/,subfolder1,<itssizein KB> /d/tmp/,subfolder2,<itssizein KB>
如果subfolder3 有一个SOMEPROPKEY=34243234(过去的时间以毫秒为单位),那么它就不会在那个 csv 文件中。
所以基本上我正在寻找:
find /cygdrive/d/tmp/* -maxdepth 0 -mtime -150 -type d | <only subfolders that have in them property in file SOMEPROPKEY=28374874827 - time in ms in future and not in past | xargs du --max-depth=0 > foldersizesreport.csv
【问题讨论】:
-
请在您的问题中使用正确的格式,这样可以确保可读性并可能有助于获得答案。
-
好的,谢谢我尝试更新它我是新来的......
标签: linux shell cygwin awk grep