git在多个文件名和文件夹名中查找并重命名字符串

时间:2013-04-25 19:02:04

标签: linux git unix grep find

所以基本上我需要在我的github项目中找到包含字符串'persons'的所有文件和文件夹

find . -type f -print | grep "persons"
find . -type d -print | grep "persons"

以上对我有用。

But I also need to rename all the above files and folders with 'members'

我可以使用几个命令执行上述操作吗?而不是逐个手动替换它们 我不知道如何以递归方式对上面的

执行git mv oldfilename newfilename

2 个答案:

答案 0 :(得分:1)

for dir in `find /DIR -type d -iname '*persons*'` ; do
    git mv "${dir}" "${dir/persons/members}"
done 

会的。对于文件,请使用-type f

答案 1 :(得分:0)

find . -depth -name persons |  while read F; do mv $F $(dirname $F)/members; done