如何使用连字符将目录中的一堆文件重命名为param-case
?
Here's可以在JavaScript中实现,但是我不确定如何在bash中实现。
答案 0 :(得分:1)
以下是bash中的一个选项:
for file in ./* ; do mv "$file" "$(echo $file | sed 's/\(.\)\([A-Z]\)/\1-\2/g' | tr '[:upper:]' '[:lower:]')" ; done
使用perl的替代方法:
for file in ./* ; do mv "$file" "$(echo $file | perl -ne 'print lc(join("-", split(/(?=[A-Z])/)))')" ; done