使用linux命令替换某文件的指定内容,linux批量替换文件内容-Linux下sed命令替换目录下所有文件中的某字符串-吾爱编程网...

最近在整理一个网站网站有几十万个静态文件,最快的方法就是批量替换文件中的内容,接下来吾爱编程就为大家介绍一下sed命令替换目录下所有文件中的某字符串,有需要的小伙伴可以参考一下:

1、sed简介:

sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。在shell中,使用sed来批量修改文本内容是非常方便的。

2、语法格式:sed [选项] [脚本命令] 文件名

3、相关参数:

(1)、常用选项:选项含义

-e 脚本命令该选项会将其后跟的脚本命令添加到已有的命令中。

-f 脚本命令文件该选项会将其后文件中的脚本命令添加到已有的命令中。

-n默认情况下,sed 会在所有的脚本指定执行完毕后,会自动输出处理后的内容,而该选项会屏蔽启动输出,需使用 print 命令来完成输出。

-i此选项会直接修改源文件,要慎用。

(2)、sed s命令flags标记及功能:

flags 标记功能

n1~512 之间的数字,表示指定要替换的字符串出现第几次时才进行替换,例如,一行中有 3 个 A,但用户只想替换第二个 A,这是就用到这个标记;

g对数据中所有匹配到的内容进行替换,如果没有 g,则只会在第一次匹配成功时做替换操作。例如,一行数据中有 3 个 A,则只会替换第一个 A;

p会打印与替换命令中指定的模式匹配的行。此标记通常与 -n 选项一起使用。

w file将缓冲区中的内容写到指定的 file 文件中;

&用正则表达式匹配的内容进行替换;

\n匹配第 n 个子串,该子串之前在 pattern 中用 \(\) 指定。

\转义(转义替换部分包含:&、\ 等)。

4、实例:

(1)、替换指定文件的字符串:sed -i “s/oldstring/newstring/g” filename

(2)、批量替换文件中的字符串:sed -i “s/oldstring/newstring/g” grep oldstring -rl path

PS:oldstring是待被替换的字符串,newstring是待替换oldstring的新字符串,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路径;

以上就是吾爱编程为大家介绍的关于Linux下sed命令替换目录下所有文件中的某字符串,了解更多相关文章请关注吾爱编程网!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值