您的位置:首页 > 娱乐 > 明星 > 优书网推荐_莆田seo快速排名_漯河搜狗关键词优化排名软件_北京网站制作设计

优书网推荐_莆田seo快速排名_漯河搜狗关键词优化排名软件_北京网站制作设计

2024/12/23 16:40:04 来源:https://blog.csdn.net/weixin_74300052/article/details/143600632  浏览:    关键词:优书网推荐_莆田seo快速排名_漯河搜狗关键词优化排名软件_北京网站制作设计
优书网推荐_莆田seo快速排名_漯河搜狗关键词优化排名软件_北京网站制作设计

文章目录

  • 🍊自我介绍
  • 🍊sed概述
  • 🍊sed语法讲解
    • 格式:
    • options 命令选项
    • {commmand}[flags]
  • 🍊场景训练


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面的相关内容。


🍊sed概述

简介:
  我们之前的学习中,Vim 采用的是交互式文本编辑模式,你可以用键盘命令来交互性地插入、删除或替换数据中的文本。但本节要讲的 sed 命令不同,它采用的是流编辑模式,最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。
使用场景

· 超大文件处理;
· 对文件进行批量增加,替换等。
· 有规律的文本,例如 以分号,空格等分隔的日志文件等;

说明:
  sed 会根据脚本命令来处理文本文件中的数据,这些命令要么从命令行中输入,要么存储在一个文本文件中,此命令执行数据的顺序如下:
· 每次仅读取一行内容;
· 根据提供的规则命令匹配并修改数据。注意,sed 默认不会直接修改源文件数。据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中的数据;
·将执行结果输出。
  当一行数据匹配完成后,它会继续读取下一行数据,并重复这个过程,直到将文件中所有数据处理完毕。

在这里插入图片描述

🍊sed语法讲解

格式:

sed [options] '{command}{flags}' [filename]

注意:[]中的数据必须存在,{}内容可省略

options 命令选项

-e 脚本命令 该选项会将其后面的脚本命令添加到已有的命令中。 
-f 脚本文件 该选项会将其文件中的脚本命令添加到已有的命令中。
-n 只显示匹配的行
-i 直接对原文件进行操作,会修改原文件内容。sed命令默认不修改文件

{commmand}[flags]

sed内部常用命令

i:insert,在制定或匹配到的行前面添加新行内容为 string
a:append,在指定或匹配到的行后面追加新行,内容为string
d:delete,删除符合地址定界条件的的行
p: print,默认 sed 对模式空间内的处理完毕后,将输出的结果输出在标准输出p添加 p命令,相当于输出了原文,又一次输出了模式匹配处理后的内容。
s:查找并替换,默认只替换每行中第一次被模式匹配到的字符串,如果修饰符为 g,则为全部替换。
n:  1~512之间的数字 表示指定要替换的字符串出现第几次时才进行替换。例如,一行中有 3个 A,但用户只想替换第二个 A,这是就用到这个标记;
g:  对数据中所有匹配到的内容进行替换,如果没有8,则只会在第一次匹配成功时做替换操作8例如,一行数据中有 3个 A,则只会替换第一个 A;
p:  会打印与替换命令中指定的模式匹配的行。此标记通常与-n选项一起使用。

🍊场景训练

场景1:显示/etc/passwd第三行的信息

之前学习的命令展示:head -3 /etc/passwd | tail -1sed 命令:
sed -n '3p' /etc/passwd  //3是行号,p是输出

场景2:在/etc/passwd中第一行前添加一行内容为“Good Good Study”

sed -e '1iGood Good Study' /etc/passwd 
//这里的1代表第一行,i代表插入的意思。表示在第1行前插入新的字符串。

场景3:把/etc/passwd中所有名字为root的字符串改为class

sed 's/旧字符串/新字符串/g' 文件名
功能:替换所有的字符串sed 's/旧字符串、新字符串、数字' 文件名
功能:替换每行中第(数字)次出现该字符串的数据
sed -e 's/root/class/g' /etc/passwd

场景4:删除/etc/passwd中内容并列出行号,同时将2~5行删除

cat -n /etc/passwd | sed '2,5d'

场景5:把/etc/passwd文件中root用户的信息以带行号的形式重定向到log.txt 文件中;要求把log.txt文件中的root替换为linux,并且log.txt中保存替换后的文件

cat -n /etc/passwd > log.txt
sed -i 's/root/linux/g' log.txt

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com