循环浏览目录中的所有文件并对它们执行操作?

2 shell

因此,我尝试在Mac上执行Shell脚本(.sh),但遇到了麻烦。因此,对于每个文件,我都希望对其进行复制并将其转换为另一种类型(。少到.css)。我已经知道该怎么做:

 lessc fileToConvert.less destinationOfConvertedFile.css
Run Code Online (Sandbox Code Playgroud)

现在我的问题是将其集成到一个循环中(循环一个文件夹中的所有文件)。我尝试过,但似乎没有任何效果:

alias proj="cd /Users/maxwell/Documents/WebStorm"
for /D /r %%G in * DO Echo We found %%G
Run Code Online (Sandbox Code Playgroud)

我尝试将其作为测试,但即使这样也不起作用。有任何想法吗?

Dav*_*vid 5

find命令与-execswitch一起使用OR管道输出findxargs

例如:

find . -name "*.less" -exec sh -c 'lessc "{}" "$(basename "{}" .less).css"' \;
Run Code Online (Sandbox Code Playgroud)

这将从当前目录中递归查找任何扩展名为* .less的文件,并将文件名用作。的参数lessc。输出文件名将与输入文件名相同,但扩展名不同。

请注意,我尚未lessc在系统上安装,因此无法测试该确切示例,但它应该是正确的,或者非常接近。