linux 下常见的文件内字符串替换命令

1. vim

vim 编辑文件时经常会出现向改动文件中某个变量名的情况,但是该变量名分布在文件各个地方,手动去改非常麻烦,可以使用 vim 的字符串替换命令。

示例

:%s/old/new/g

上述命令可以将整个文件中的字符 old 替换为字符 new

详解

语法格式为:

:[addr]s/源字符串/目的字符串/[option]

[addr] 表示检索范围,省略时表示当前行。

  • 1,20 :表示从第1行到20行
  • %:表示整个文件,同 1,$
  • .,$ :从当前行到文件尾

s : 表示替换操作

[option] : 表示操作类型

  • g 表示全局替换;
  • c 表示进行确认
  • p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
  • 省略option时仅对每行第一个匹配串进行替换;
  • 如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义

2. sed

sed 是一个管道命令,可以分析 standard input,还可以将数据进行替换、删除、新增、选取特定行等功能。下面介绍 sed 的用法,再来聊其用途。

语法格式:

sed [-nefr] [动作]
  • -n :使用安静模式,只有经过处理的行才会被输出到屏幕
  • -f :直接动作写在文件中,-f filename 可以执行 filename 内的动作
  • -r :动作支持扩展正则表达式语法
  • -i :直接修改读取的文件内容而不是输出

动作说明:

[n1[,n2]] function

function 有下面参数:

  • a :新增
  • d:删除
  • s:替换

    sed -i 's/old/new/g' test.txt
    

上述语句可以将 test.txt 文件中的所有 old 字符替换为 new 字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值