Linux 批量字符串替换命令(sed, perl )与vi文本下字符替换命令
2014-01-15 18:06
1166 查看
http://blog.csdn.net/meic51/article/details/7850084
1. perl 命令
例1 执行命令:
perl -p -i -e "s/China/Sumly/g" /www/*.htm /www/*.txt
上面的意思是说将www文件夹下所有的htm和txt文件中的“China”都替换为“Sumly”
例2 执行命令:
perl -p -i -e "s/mry_production/mry_production2/g" ./*.sql
上面的意思是将当前目录下所有的sql文件中的“mry_production”替换成“mry_production2”
2. sed 命令
例如:我要把mahuinan替换为huinanma,执行命令:
具体格式如下:
实例代码:
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
1. perl 命令
例1 执行命令:
perl -p -i -e "s/China/Sumly/g" /www/*.htm /www/*.txt
上面的意思是说将www文件夹下所有的htm和txt文件中的“China”都替换为“Sumly”
例2 执行命令:
perl -p -i -e "s/mry_production/mry_production2/g" ./*.sql
上面的意思是将当前目录下所有的sql文件中的“mry_production”替换成“mry_production2”
2. sed 命令
用sed命令可以批量替换多个文件中的字符串。
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
例如:我要把mahuinan替换为huinanma,执行命令:
sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'
具体格式如下:
sed -i "s/oldString/newString/g" `grep oldString -rl /path`
实例代码:
sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa` sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`
3. vi\vim 文本命令
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
相关文章推荐
- Linux 批量字符串替换命令(sed, perl )与vi文本下字符替换命令
- 如何替换某文件中的所有的特定字符?---linux sed命令(文本编辑命令)
- Linux命令之sed批量替换字符串操作
- 如何替换某文件中的所有的特定字符?---linux sed命令(文本编辑命令) (转载)
- Linux中使用sed命令替换字符串小结
- rename命令_Linux rename 命令用法详解:用字符串替换的方式批量改变文件名
- Linux sed 批量替换字符串和更多用法
- Linux中使用sed命令替换字符串小结
- vi部分命令. 替换操作; 文本格式转换; 在整个文件中替换; 在行首尾添加字符串.
- [sed] linux sed 批量替换字符串
- linux-sed命令: 批量替换某文件夹下所有文件里的某段内容
- [sed] linux sed 批量替换字符串
- Linux下vi替换字符命令操作实例
- Linux vim/vi 用:s 命令来替换字符串
- Linux中使用sed命令替换字符串小结(转)
- Linux中Sed命令删除字符串中的部分字符
- linux sed 批量替换多个文件中的字符串
- linux perl shell perl vi grep awk xargs 批量替换(转载)
- Linux系统中tr命令删除和替换文本字符的基本用法
- Linux中使用sed命令替换字符串小结