我需要重命名目录中的所有文件。源文件名的一些示例是:
alpha--sometext.381928
comp--moretext.7294058
结果文件将重命名为:
alpha.sometext.381928
comp.moretext.7294058
- 之前和之后的字符数不一致。
该脚本需要处理Ubuntu和FreeBSD的当前安装。这些是瘦LAMP服务器,因此只安装了必要的软件包。
由于
答案 0 :(得分:4)
通过bash:
for file in *--*; do
mv "${file}" "${file/--/.}"
done
魔法位于${file/--/.}
,这是${file}
的值,除非每个“ - ”更改为“。”
答案 1 :(得分:4)
作为纯shell的替代方法,您可以使用rename
,这是Perl附带的标准实用程序。对于简单的案例,它更方便。
rename 's/--/./' *