前言
在linux中处理文件肯定要用到sed。而且这个命令是真的强,我只是学了点皮毛就够用了,在此记录
基本格式
sed [选项] ‘范围+操作类型\内容’ 文件名
解释
选项:选项里面我一般填 -i 意思是要实实在在修改文件。如果不填这个,你的操作只会返回结果,源文件是不会修改的。范围:这里填你要修改的行数,也可以用正则匹配,这个就比较牛逼了,好的正则可以让你的命令非常简洁操作类型:介绍几个我常用的。a代表在前面给定的范围的下一行插入、i表示在前面给定的范围的上一行插入、s表示替换(格式变为sed -i ‘范围+s/原内容/替换内容/范围’ 文件名 后面这个范围可以填g表示全局替换)、d表示删除(格式变为 sed -i ‘范围+d’ 文件名) 例如sed -i '^a\hahahah' test 在test文件第一行的下面插入hahahah 例如sed -i '3s/giaogiao/haha/g' test 将test文件第三行所有的giaogiao替换为haha补充:一般情况下内容与操作类型之间使用过反斜杠来分割的,但是如果是替换就不能用反斜杠而是使用斜杠,因为反斜杠在这里是转移的意思了。还有就是一般情况下选项后面和文件名前面这一部分使用单引号括起来的,但是如果有一些情况,你里面的语句也有单引号,这时必须把外面的单引号换成任意其他符号,才能让命令正确 例如:sed -i ?20s?'xixi'?xixi?g test 这个命令就是将test文件第20行所有的’xixi’ 换成xixi