MAC环境下批量修改文件名

本文介绍了在MAC OS X系统中如何使用sed命令批量修改文件内容以及文件名。包括替换当前目录下文件名和内容的详细步骤,以及针对iOS工程目录的特殊处理方法。

1、sed替换文件内容包含oldstring字符串的命令

sed -i '' "s/oldstring/newstring/g" myfile //单个文件
sed -i '' "s/oldstring/newstring/g" `grep oldstring . -rl`//当前目录下所有文件

2、替换当前目录下所有文件名包含oldstring字符串的命令

rename "s/oldstring/newstring/" *

3、替换当前目录下所有文件名与内容脚本

#!/bin/bash

echo "请输入工程名称:"
read moduleName
echo "输入的工程名称是:${moduleName}"
echo "确定:(Y/N)"
read confirm

if [ "$confirm" = "Y" ]
then

curFilePath="${PWD}"
curProjectName=${curFilePath##*/}

echo "替换文件名"
rename "s/${curProjectName}/${moduleName}/" *
rename "s/${curProjectName}/${moduleName}/" */*
rename "s/${curProjectName}/${moduleName}/" */*/*
rename "s/${curProjectName}/${moduleName}/" */*/*/*

echo "替换内容"
export LC_COLLATE='C'
export LC_CTYPE='C'
sed -i '' "s/${curProjectName}/${moduleName}/g" `grep ${curProjectName} . -rl`

echo "修改目录文件名"
cd ..
rename "s/${curProjectName}/${moduleName}/" *

else
echo "已取消"
fi

4、替换当前iOS工程目录下所有文件名与内容脚本

#!/bin/bash

echo "移除pod"
pod deintegrate

echo "请输入工程名称:"
read moduleName
echo "输入的工程名称是:${moduleName}"
echo "确定:(Y/N)"
read confirm

if [ "$confirm" = "Y" ]
then

curFilePath="${PWD}"
curProjectName=${curFilePath##*/}

echo "替换文件名"
rename "s/${curProjectName}/${moduleName}/" *
rename "s/${curProjectName}/${moduleName}/" */*
rename "s/${curProjectName}/${moduleName}/" */*/*
rename "s/${curProjectName}/${moduleName}/" */*/*/*

echo "替换内容"
export LC_COLLATE='C'
export LC_CTYPE='C'
sed -i '' "s/${curProjectName}/${moduleName}/g" `grep ${curProjectName} . -rl`

echo "安装pod"
pod install

echo "修改目录文件名"
cd ..
rename "s/${curProjectName}/${moduleName}/" *

else
echo "已取消"
fi
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值