Linux批量操作多个文件内容的指令

Linux批量操作多个文件内容的指令

在Linux系统中,面对同一种内容格式相同的多个文件,可以用sed指令来实现,sed指令操作的是原始文件,请在操作前先备份成尾椎名字不同的文件
语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
下面开始几个常用的操作指令

指定名称替换操作

  1. 例如,要替换一个文件夹下面内容格式相同的多个文件,要替换变量名“variable”为“modification”,可以用指令sed -i “s/variable/modification/g” ./*.txt ,注意这里替换会把文件中所有变量为“variable” 的替换为 “modification”;
#指定内容替换
sed  -i "s/variable/modification/g" ./*.txt 

批量行替换操作
2. 如果说想替换某一行或者多行内容,下面是替换文本内第2行的指令,记得把‘需要新写入的内容xxx’替换成自己想要插入的内容,其次如果想在内容中加双引号需反斜杠转义,如需查看想修改的位置是在文本的第几行,可使用vi xxx文件 进入后,使用:num可查看是在文件的第几行

# 单行内容操作
sed  -i '2c 需要新写入的内容xxx'  ./*.txt 
#多行内容操作
sed -i '2,4c 需要新写入的内容xxx'  ./*.txt 

新增操作
3. 在某一行新增内容,原有行会被算到下一行

sed -i '2a 需要新写入的内容xxx'  ./*.txt 

删除操作
4. 删除也有单行和多行操作,和批量替换类似,删除行后,原有行的下一行会成为原有行

#仅删除第二行
sed -i  '2d'  ./*.txt 
#删除第2行到最后一行
sed -i '2,$d'  ./*.txt 

查看操作
5.当然也有查看操作,但是我这里还是提一下,但是不常用,大家可能都会用cat、more、tail、vim !!vim多用于修改,文件太大的话使用vim会卡死的!

#精准匹配查询所在行,及查看内容
nl  文件路径/文件名称 | sed -n '/查询内容/p'
#查看文件第2行到第五行的内容
sed -n '2,5p'  ./xxx.tet
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值