Linux脚本更改文件名,文件夹名和ingridents

时间:2015-08-21 19:03:16

标签: linux sed

我有一个很长的文件夹/文件结构,里面有很多代码文件。我的一些文件有" x5g6"名称上的模式,文件夹名称以及文件内的文本。

e.g

/Mycodes
/pp_x5g6
 - vbg_x5g6.cmd
 - x5g6_pp
 - x5g6_pp.ml

等等 如果你打开vbg_x5g6.cmd文件,你可以看到它中有一个代码,它也有这种模式(例如函数bb_x5g6 = x + y);

我的问题是我可以使用哪些命令将x5g6递归更改为x5g7  在文件夹,文件名和文件内?

到目前为止,我只能找到;

find . -type f -exec sed -i 's/x5g6/x5g7/g' {} +

但这只会改变文件内部的任何内容,而不是文件夹和文件名。

1 个答案:

答案 0 :(得分:1)

看起来您已经有了一个用于编辑文件内容的解决方案。

对于文件/目录名称,我认为普遍接受的答案是使用名为mmv的程序(我,我自己喜欢)或名为rename的程序

对于记录,此问题与https://unix.stackexchange.com/questions/98070/rename-files-in-directory重复。

原文包含一个答案,同时推荐zmv(如果您使用zsh代替bash)。

编辑:语法