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
。