18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 建站知识 > Linux批量替换文件内容(域名、IP、变量等文本)

Linux批量替换文件内容(域名、IP、变量等文本)

时间:2023-02-20 09:44:01 | 来源:建站知识

时间:2023-02-20 09:44:01 来源:建站知识

Linux批量替换文件内容(域名、IP、变量等文本):



语法格式

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`实例

以下我们实现把 “/root/github/docs/”目录下 包含 “old.com”文本 的文件查找出来,并将这些文件中的 “old.com”文本 替换为 “new.com”文本:

sed -i "s/old.com/new.com/g" `grep old.com -rl /root/github/docs/`#实测处理3.5k个文件只需要最多8秒(包含子目录)注意要点

命令解释

sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`sed命令参数解释: sed 命令是利用脚本来处理文本文件。可依照脚本的指令来处理、编辑文本文件。主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 -i :表示inplace edit,就地修改文件。sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订! s :取代替换,通常这个 s 的动作可以搭配正则表达式!例如 s/old/new/g 就是把old字符替换成new字符!grep命令参数解释: grep 命令用于查找文件里符合条件的字符串。 -r 表示搜索子目录。-r, --recursive like --directories=recurse 。此参数的效果和指定"-d recurse"参数相同。recurse=递归子目录 (参数 -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。) -l 表示输出匹配的文件名。 -l, --files-with-matches print only names of FILEs with selected lines参考资料



关键词:变量,文本,内容,替换,文件

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭