Answers:
没有显式循环(man find)的备用命令:
find . -type f -exec mv '{}' '{}'.jpg \;
说明:这-type f将从当前目录()开始递归地查找所有文件().,并将move命令(mv)应用于每个文件。还要注意周围的引号{},以便正确处理带有空格(甚至是换行符...)的文件名。
for循环破坏bash以遍历文件列表,那是不正确的。bash for循环迭代地发出每个mv命令。
find先设置文件列表?我想是的,但是想在编码无限循环之前弄清楚这一点。-exec
-not -name "*.*"将达到目的。
像这样,
for f in $(find . -type f); do mv $f ${f}.jpg; done
我不希望您使用空格分隔文件名,
如果这样做,则需要稍微处理一下文件名。
如果你想从其他目录下执行命令,
你可以代替find .用find /target/directory。
-type。