我有几个文件夹命名为folder1 folder2等..根文件夹下。 在每个文件夹中都有许多xml文件。 在每个xml文件中都有文本模板的出现次数(在folder1下)folder1.xxx folder1.yyy。 我想用xxx来代替所有的folder1.xxx,用yyy来代替folder2.yyy等等。我知道我首先需要得到所有的文件夹列表并且处理每个文件夹下的每个文件,并相应地replace文本。 我使用Ubuntu的Linux发行版我试过sed但没有成功。 你可以告诉我一个qucik的方式来做到这一点,无论是perl或bash或任何其他脚本。 谢谢
(根据您的意见编辑):
for dir in folder1 folder2; do sed -i "s/$dir\.//" $dir/* done
这样做的目的是为了列出每个目录( folder1 folder2位),它将对该目录中的每个文件执行一个简单的“stream编辑”( sed ),然后search目录名称后面跟一个点,并将其replace为空白。
如果你安装了mmv,你可以尝试一下
for dir in *; do mmv "$dir/$dir*" "$1"; done
mmv应该是大部分发行版的一部分,但是默认情况下不会安装某些情况。 我不确定它是否在Ubuntu中。