我正在尝试通过ovftool自动将.vmx转换为.ova,这些.vmx文件是从ghettoVCB生成的。因此,我正在编写一个脚本来使转换自动化工作。
我的问题是如何编写一个shell脚本,该脚本从parent_directory遍历每个目录并在每个目录中执行命令?还是可以将所有内容从最深的文件夹移动到parent_directory?(此解决方案将这些文件从最深的文件夹移动到parent_directory可能会很耗时)。
目录结构如下:parent_directory / automation / automation-2016-04-18_19-08-32 / automation.vmx parent_directory / bulls / bulls-2016-04-18_18-28-57 / bulls.vmx
这是另一种结构布局
parent_directory
parent_directory中的子文件夹的名称不遵循模式。可以是任何名称。文件夹“ automation-2016-04-18_19-08-32”是子文件夹的名称+日期+时间。
将所有内容从最深的文件夹移至parent_directory
此命令将搜索当前目录的子目录,找到所有.vmx
文件,并将它们移动到当前目录:
find . -type f -name '*.vmx' -exec mv {} . \;
编写一个shell脚本,该脚本从parent_directory遍历每个目录并在每个目录中执行命令
以下命令将搜索当前目录的每个子目录并command
在其中执行:
find . -type d -execdir command \;
如果要command
在包含.vmx
文件的每个目录中运行,并提供这些.vmx
文件的名称作为的参数command
,请运行:
find . -type f -name '*.vmx' -execdir command {} +
或者,假设我们要为.vmx
找到的每个文件运行一次命令:
find . -type f -name '*.vmx' -execdir command {} \;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句