sed,汽车sed是什么意思
大家好,关于sed很多朋友都还不太明白,今天小编就来为大家分享关于汽车sed是什么意思的知识,希望对各位有所帮助!
sed删除怎么生效
sed是一种几乎可以应用在所有 UNIX平台(包括 Linux)上的轻量级流编辑器。sed有许多很好的特性。首先,它相当小巧,通常要比你所喜爱的脚本语言小多倍。其次,因为 sed是一种流编辑器,所以,它可以对从如管道这样的标准输入中接收的数据进行编辑。因此,无须将要编辑的数据存储在磁盘上的文件中。因为可以轻易将数据管道输出到 sed,所以,将 sed用作强大的 Shell脚本中长而复杂的管道很容易。
sed主要是用来将数据进行选取、替换、删除、新増的命令。我们看看命令的语法:
[root@localhost~]# sed [选项]'[动作]'文件名
选项:
-n:一般 sed命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed命令处理的行输出到屏幕上;
-e:允许对输入数据应用多条 sed命令编辑;
-f脚本文件名:从 sed脚本中读入 sed操作。和 awk命令的-f选项非常类似;
-r:在 sed中支持扩展正则表达式;
-i:用 sed的修改结果直接修改读取数据的文件,而不是由屏幕输出动作;
a\:追加,在当前行后添加一行或多行。当添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结;
c\:行替换,用c后面的字符串替换原数据行。当替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结;
i\:插入,在当前行前插入一行或多行。当插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结;
d:删除,删除指定的行;
P:打印,输出指定的行;
s:字符串替换,用一个字符串替换另一个字符串。格式为“行范围s/旧字串/新字串/g”(和Vim中的替换格式类似);
大家需要注意,sed所做的修改并不会直接改变文件的内容(如果是用管道符接收的命令的输出,则连文件都没有),而是把修改结果只显示到屏幕上,除非使用"-i"选项才会直接修改文件。
行数据操作
举几个例子来看看 sed命令到底是干什么的。假设我想查看一下 student.txt文件的第二行,就可以利用"p"动作了。
[root@localhost~]# sed'2p' student.txt
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
好像看着不怎么顺眼啊!"p"动作确实输出了第二行数据,但是 sed命令还会把所有数据都输出一次,这时就会看到这个比较奇怪的结果。那如果我想指定输出某行数据,就需要"-n"选项的帮助了。
[root@localhost~]# sed-n'2p' student.txt
1 Liming 82 95 86 87.66
这样才可以输出指定的行。大家可以这样记忆:当我们需要输出指定的行时,需要把"-n"选项和"p"动作一起使用。
再来看看如何删除文件中的数据:
[root@localhost~]#sed'2,4d' student.txt
#删除从第二行到第四行的数据
ID Name PHP Linux MySQL Average
[root@localhost~]# cat student.txt
#文件本身并没有被修改
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
看到这条命令首先需要注意,所有的动作必须使用"单引号"包含;其次,在动作中可以使用数字代表行号,逗号代表连续的行范围。还可以使用"$"代表最后一行,如果动作是"2,$d",则代表从第二行删除到最后一行。
再来看看如何追加和插入行数据:
[root@localhost~]# sed'2a hello' student.txt
#在第二行后加入hello
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
hello
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
"a"动作会在指定行后追加数据。如果想要在指定行前插入数据,则需要使用"i"动作。
[root@localhost~]# sed'2i hello> world' student.txt
#在第二行前插入两行数据
ID Name PHP Linux MySQL Average
hello
world
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
如果想追加或插入多行数据,则除最后一行外,每行的末尾都要加入"\"代表数据未完结。
再来看看"-n"选项的作用,命令如下:
[root@localhost~]# sed-n'2i hello\
#只查看sed命令操作的面
world' student.txt
hello
world
看到了吧,"-n"只用于查看 sed命令操作的数据,而并非查看所有的数据。
再来看看如何实现行数据替换:
[root@localhost~]# cat student.txt| sed'2c No such person'
ID Name PHP Linux MySQL Average
No such person
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
第二行数据变成了"查无此人"。通过这个例子我们看到了,sed也可以接收和处理管道符传输的数据。
sed命令在默认情况是不会修改文件内容的。如果我确定需要让 sed命令直接处理文件的内容,则可以使用"-i"选项。不过要小心,这样非常容易误操作,在操作系统文件时请小心谨慎。可以使用这样的命令:
[root@localhost~]# sed-i'2c No such person' student.txt
字符串替换
"c"动作是进行整行替换的,如果仅仅想替换行中的部分数据,就要使用"s"动作了。"s"动作的格式如下:
[root@localhost~]# sed's/旧字符串/新字符串/g'文件名
替换的格式和 Vim非常类似,例如:
[root@localhost~]# sed'3s/74/99/g' student.txt
#在第三行中,把74换成99
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 99 96 87 85.66
3 Gao 99 83 93 91.66
如果想把某行的成绩注释掉,让它不再生效,则可以这样做:
[root@localhost~]#sed'4s/^/#/g' student.txt
#在这里使用正则表达式,"^"代表行首
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
#3 Gao 99 83 93 91.66
不仅如此,我们还可以这样做:
[root@localhost~]# sed-e's/Liming//g; s/Gao//g' student.txt
#同时把"Liming"和"Gao"替换为空
ID Name PHP Linux MySQL Average
1 82 95 86 87.66
2 Sc 74 96 87 85.66
3 99 83 93 91.66
"-e"选项可以同时执行多个 sed动作,当然,如果只执行一个动作,则也可以使用"-e"选项,但是这时没有什么意义。还要注意,多个动作之间要用";"或回车分隔,例如,上一条命令也可以这样写:
[root@localhost~]# sed-e's/Liming//g
> s/Gao//g' student.txt
ID Name PHP Linux MySQL Average
1 82 95 86 87.66
2 Sc 74 96 87 85.66
3 99 83 93 91.66
关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由C语言中文网站长亲自运营,长期更新,坚持原创。
优秀文章
C语言格式化输出
C语言求回文素数
C++虚函数注意事项以及构成多态的条件
MySQL数据库恢复(LOAD DATA)
C语言学生信息管理系统源码下载和思路解析(密码版)
Servlet虚拟路径匹配规则
如何避免线程发生死锁?
MyBatis where标签
Hibernate增删改查操作(CRUD)
PCB是什么
汽车sed是什么意思
表面传导电子发射显示。
在画质上,SED全面胜过了液晶和等离子电视,而且功耗也比同尺寸的液晶和等离子电视低得多。SED的横空出世,让人们又多了一个选择。其发光原理与传统的CRT显示器有相似之处,也是利用阴极发射电子,然后通过电场加速,使电子轰击荧光粉发出亮光。
介绍
在成本方面,SED的结构基本上是平面结构,不同于液晶和等离子的立体化结构,因此可以采用先进的印刷工艺进行批量制造,从而提高生产效率并降低成本。
来自TRI(拓璞产研)的研究报告指出,40英寸的SED面板成本可以控制在600美元,而同尺寸液晶和等离子面板的成本则在700美元左右(2008年)。不过,考虑前期研发费用投入的因素,SED目前的成本还比较高,不过到了2010年就能够与液晶和等离子持平。
感谢您花时间阅读本文!我们希望通过对sed的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。