首页 > 代码库 > sed 学习笔记(未完成)

sed 学习笔记(未完成)

#sed

sed是一种流编辑器,

它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。

处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。

Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。


#命令格式

sed [options] ‘command‘ file(s)
[root@node3 ~]# cat file 
a
b
ccc
ddd123aaa

123aaa321
  		
###
#asda
$ada
$
[root@node3 ~]# sed ‘1p‘ file 
a
a
b
ccc
ddd123aaa
123aaa321
  
###
#asda
$ada
$
[root@node3 ~]# sed -n ‘1p‘ file 
a


#分组

[root@node3 ~]# echo -e "I love you.\n" | sed -n ‘s/\(love\)/\1s/p‘ 
I loves you.


#引用外部变量

[root@node3 ~]# test=hello
[root@node3 ~]# echo "hello WORLD" | sed "s/$test/HELLO/g" 
HELLO WORLD
[root@node3 ~]# echo "hello WORLD" | sed ‘s/‘$test‘/HELLO/g‘ 
HELLO WORLD
[root@node3 ~]#


#选定行的范围

[root@node3 ~]# sed -n ‘/^a/,/^1/p‘ file 
a
b
ccc
ddd123aaa
123aaa321
[root@node3 ~]# sed -n ‘3,/^#/p‘ file 
ccc
ddd123aaa

123aaa321
  		
###














本文出自 “Chauncey” 博客,请务必保留此出处http://cqwujiang.blog.51cto.com/10808946/1940642

sed 学习笔记(未完成)