改进了find命令来列出文件,它们的目录和大小

时间:2016-02-23 13:21:35

标签: file csv find esxi

我在使用ESXi上的PowerShell(PowerCLI)的plink执行cmd-line。

我们的想法是列出vmdk文件(带有例外),带有符号链接(因为它们的真实文件夹名称是ID)和第一个子文件夹(这有助于我找到VMDK文件,因为它可能反映了VM文件夹)。输出是CSV格式,因此我可以在PowerShell中轻松使用它。这是我到目前为止的地方:

find /vmfs/volumes -type l -exec find {} -name "*.vmdk" -follow \; | awk '{n=split($0,a,"/"); print a[4]";"a[5]";"a[n] }' | grep -v ".*-flat.vmdk$" | grep -v ".*delta.vmdk$" | grep -v ".*-ctk.vmdk$"

这对我有好处,但我想将文件大小添加为最后一个字段(VMDKFileName; Size)。大小格式并不重要,我将能够在我的PS脚本中操作它。

如果我能以正确的方式满足我的需求,请尽快。

请不要犹豫,要求提供更多信息。

P.S:一个单行的命令会很棒,因为我正在使用PLink,这对我来说更容易使用。

TIA

1 个答案:

答案 0 :(得分:0)

好的,anwser在这里(很多头痛)!

find $(find /vmfs/volumes -type l -maxdepth 1) -name "*.vmdk"  -follow -exec ls -lHd {} \; | awk '{n=split($0,a,"/"); print a[4]";"a[5]";"a[n]";"$5}' | grep -v ".*-flat.vmdk" | grep -v ".*delta.vmdk" | grep -v ".*-ctk.vmdk"