2016-02-23 3 views
0

Я работаю над cmd-строкой, которую я выполняю с помощью plink из PowerShell (PowerCLI) на ESXi.Улучшенная команда find для списка файлов, их размер и размер

Идея состоит в том, чтобы перечислить файлы vmdk (с исключениями) с их символической ссылкой (поскольку их имена реальных папок - это идентификаторы) и первая вложенная папка (это поможет мне найти файл 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, размер). Формат размера не имеет большого значения, я смогу манипулировать им в своем PS-скрипте.

Idk, если я нахожусь на правильном пути, чтобы удовлетворить мои потребности.

Не стесняйтесь обращаться за дополнительной информацией.

P.S: команда с одним слоем будет отличной, поскольку я использую PLink, мне легче использовать ее.

ТИА

+0

Лучше подходит для SuperUser? – legends2k

ответ

0

Ok, 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"