• 微信
您当前的位置:首页  > 文章 >  Linux中perl和sed的字符串批量替换,包括特殊字符$的替换

Linux中perl和sed的字符串批量替换,包括特殊字符$的替换

作者:admin 时间:2019-08-08 阅读数:28人
所有的命令都是现学现卖,但都是测试过的,网上有相当多的帖子是被搬来搬去的,没有测试过,相当一部分是不能100%运行的,所以在此分享100%可以运行的替换命令。

在Linux中文本替换通常有Perl,Sed和Shell 3种方法,网上现有的帖子
在此介绍Perl和Sed方法:
1. Perl 方法

find /data/www/www/biquhengsheng -iname "*.php" |xargs perl -pi -e "s|set names 'gbk'|set names 'utf-8'|g"
这条命令是查找/data/www/biquhengsheng 目录及子目录下的所有php文件中的字符串set names 'gbk',并将此替换成set names 'utf-8'。

find /data/www/biquhengsheng -iname "*.php" |xargs perl -pi -e "s|MYSQL_|MYSQLI_|g"

这条命令是查找data/www/biquhengsheng 目录及子目录下的所有php文件中的字符串MYSQL_,并将此替换成MYSQLI_。


2. Sed 方法

find /data/www/biquhengsheng -iname "*.php" |xargs sed -i "s#mysqli_query(#mysqli_query(/$link, #g"
 这条命令是查找/data/www/biquhengsheng 目录及子目录下的所有php文件中的字符串mysqli_query(,并将此替换成

mysqli_query($link。

其中#为隔离符,也可以跟上面的perl命令一样用 / 做隔离符;#隔离符在你要替换特殊符号/或/时是特别管用。此外请特别注意'$link'前面的/,即便在写这个帖子时也是充满挑战的,如果缺少/将无法执行这条命令,Linux会将此作为变量。

声明

源码下载不顺利,比如源码在百度网盘的有时会被无故取消等,请联系QQ:46667551
本站大部分下载资源收集于网络,但除特别说明之外,基本全部亲自测试可用!
但由于某些源码的更新迭代,比如微信小程序官方接口的变动等原因,
如时间过长,可能会造成本可以使用的代码出现问题,下载前请斟酌!
本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

原文链接:https://www.dnwfb.com//21.html,转载请注明出处