更换文件名和文件内容的shell脚本
更换所有路径下的文件名称
function changeFileName
{
path=$1
replaced=$2
replacing=$3
echo "We are finding '$replaced' under the folder '$path'"
count=1
for i in `find $path -iname "*$replaced*" | tac`
do
newpath=`echo $i | sed "s@\(.*\)$replaced@\1$replacing@i"`
sudo mv "$i" "$newpath"
echo "${count}: Renaming $i to $newpath"
let count++
done
}
更换所有路径下的文件内容
function changeFileContent
{
path=$1
replaced=$2
replacing=$3
pathString="$path/"
for var in `ls $path`
do
filePath="$pathString$var"
sed -i "s/$replaced/$replacing/g" `grep "$replaced" -rl $filePath`
done
}
最后写入一个代码里面完成这些功能。

本文介绍了两个Shell脚本,分别用于批量更改指定路径下所有文件的名称和内容。changeFileName函数通过替换参数实现文件名的替换,changeFileContent函数则使用sed命令在文件内容中查找并替换特定字符串。这两个脚本对于需要统一更新大量文件的场景非常实用。
576

被折叠的 条评论
为什么被折叠?



