美文网首页
Linux 三剑客之sed

Linux 三剑客之sed

作者: 惊穹 | 来源:发表于2020-07-27 14:35 被阅读0次

一, 简介

sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

二, 语法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

三, 参数

参数说明

-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。

-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。

-h或--help 显示帮助。

-n或--quiet或--silent 仅显示script处理后的结果。

-V或--version 显示版本信息。

动作说明

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

四,用法

1, 增加一行

sed  '$a newline' tt.txt   //$表示最后一行, 4a表示第四行后

sed '$i newline' tt.txt    //最后一行前增加一行

2,删除几行

sed '2, 3d' tt.txt     //伤处2 3 行

3,行为单位替换

sed '2,3c newling' tt.txt   //2,3行替换为newline

4, 字符搜索

sed -n /root/p tt.txt     //-n  只显示处理后的结果  p代表显示搜索后结果

sed /root/d tt.txt    // 搜索到包含root的行,并且删除

sed s/root/user/g tt.txt   //搜索root 替换为user, g代表处理一行搜索到的多个字符

5, 直接修改文件内容

sed -i 动作   //直接修改原始文件

sed -i 's/chr/chrome/g' tt.txt   //替换原始文件中chr为chrome , g代表处理一行搜索到的多个字符

相关文章

网友评论

      本文标题:Linux 三剑客之sed

      本文链接:https://www.haomeiwen.com/subject/lwjzlktx.html