使用bash循环并添加扩展名到所有文件

时间:2012-12-04 18:02:33

标签: bash

我在文件夹和子文件夹中递归地传播了一堆电子邮件文件,我需要将扩展​​名.eml添加到除目录之外的所有内容中,所以现在我所拥有的是以下内容

以递归方式遍历目录并仅列出文件名

find a/ -name "*" -type f

如何使用.eml扩展名重命名文件名?

我有这个脚本可以做我想要的但是它不能递归地工作

#!/bin/bash

for i in * do 
e=`echo $i.eml`
echo $e
mv $i $e
done

如何组合2?

1 个答案:

答案 0 :(得分:3)

对于find的许多版本,您可以写:

find a/ -type f -exec mv '{}' '{}.eml' \;