sed批量递归修改文件内容

最近因为服务器升级需要大量修改ip所以很是头疼,百感交集之时发现高人所记录的sed用法 亲测实用

批量替换文本里的字符串

我直接运行 sed -i "s/原文本/替换后的文本/g" `grep -rl 原文本 ./`

轻松搞定

参数也解释一下吧 sed 是一个“非交互式”面向字符流的编辑器,还有其他很多强大的用法请自行百度

sed -i : 直接修改文件内容

grep -l : 查找到匹配字符串的文件 (注意, 是含有匹配字符串的文件,也就是含有原文本的文件)

补充:我在mac上运行的时候要加一个字符  mac会优先考虑备份问题  所以不需要备份的话需要在-i后面加一个长度为零的字符

比如 :sed -i '' " s/原文本/新文本/g" `grep -rl 原文本 *`
————————————————

原文链接:https://blog.csdn.net/weixin_38176039/article/details/80377592

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sed是一种流编辑器,可以用于批量替换文件内容。它可以读取文件中的文本,并对其进行修改,然后将修改后的文本输出到标准输出或者写回原文件。使用sed进行批量替换文件内容的方法是,先使用sed命令读取文件中的文本,然后使用替换命令将需要替换的文本替换为新的文本。最后,将修改后的文本输出到标准输出或者写回原文件。 ### 回答2: sed是一种文本编辑器,可以帮助用户批量替换文件中的内容。它支持正则表达式,可以用来匹配和替换文本。在命令行中使用sed可以快速,高效地完成批量替换文件内容的任务,下面我们就来详细介绍一下。 sed命令格式: sed [选项参数] '[sed命令]' [文件] 选项参数: -i 表示直接在文件上进行修改,如果不加-i选项,sed只是对文本进行替换操作,不对原文件进行修改。 -e 执行多个命令,用分号隔开。 sed命令: 1. s//:替换命令 最常用的sed命令是s命令,用于替换文本。 例如:s/old/new/可以将文件中的old替换为new。 2. 替换指定行: 例:sed –i '3s/old/new/g' file.txt 将文本文件file.txt中的第三行匹配的内容的"old"替换为"new",g代表全文替换。 3. 替换指定行的指定字符串: 例:sed -i '/word/s/old/new/g' filename 将filename文件中,包含word的行中的old替换为new,g代表全文替换。 4. 替换指定行范围内的指定字符串: 例:sed -i '2,5s/old/new/g' file.txt 将文本文件file.txt中的第2行和第5行之前(不包括第5行)匹配的内容的"old"替换为"new",g代表全文替换。 总之,sed命令是一种高效、灵活、强大的批量替换文件内容的工具,可以极大地提高用户的工作效率。需要注意的是,在使用sed命令进行批量替换的时候,一定要谨慎操作,确保修改内容是正确的,避免不必要的损失。 ### 回答3: sed是一种强大的文本处理工具,它可以用来编辑文件中的文本,批量替换文件内容sed 最常见的用途之一。 sed命令的用法非常简单,它的基本语法如下: ``` sed [-nefri] 'command' 文件名 ``` 其中,-n 选项表示只打印出经过处理的文本行,而不是全部打印出来;-e 选项表示指定要执行的 sed 命令;-f 选项表示指定一个包含 sed 命令的文件,可以在文件中存储多个命令;-r 选项表示使用扩展的正则表达式;-i 选项表示在原文件中直接修改,而不是在终端输出。 sed命令中的 command 包含一个或多个 sed 的操作命令,比如 s 命令表示替换字符串,d 命令表示删除指定的文本行等。 下面我们以一个具体的例子来演示如何使用 sed 批量替换文件内容: 假设我们有多个文件包含 "hello,world" 字符串,现在需要将字符串中的逗号替换为句号,可以使用如下命令: ``` sed -i 's/,/./' 文件名 ``` 其中,-i 选项表示直接在文件修改,s/old/new/ 表示将 old 替换为 new,/ 表示分隔符,可以使用任何字符作为分隔符。 如果需要替换多个文件中的内容,可以使用通配符 * 批量处理: ``` sed -i 's/,/./' *.txt ``` 以上命令将批量替换所有的 .txt 文件中的 "hello,world" 字符串。 当然,sed 命令不仅仅能够进行文本替换,还可以用于删除指定文本行、插入新文本行、正则表达式匹配等操作,可以根据不同的需求选择合适的命令进行操作。 总之,sed 是一种非常实用的文本处理工具,掌握 sed 命令的用法可以让我们更加高效地处理文件中的文本内容

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值