SHELL编程实战:Sed工具详解与应用.pdfVIP

  • 0
  • 0
  • 约9千字
  • 约 8页
  • 2026-02-05 发布于北京
  • 举报

京峰JF2117-Day37上课笔记SHELL编程Sed实战

1、SHELL编程四剑客之Sed工具

通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编

程不再是简单命令的堆积,而是演变成了各种特殊的语句、各种语法、编程工

具、各种命令的集合。

在Shell编程工具中,四剑客工具的使用更加的广泛,Shell编程四剑客包

括:find、sed、grep、awk,熟练掌握四剑客会对Shell编程能力极大的提

升。

SED是一个非交互式文本编辑器,它可对文本文件和输入进行编辑,

输入可以来自键盘输入、文本重定向、字符串、变量,甚至来自于管道的

文本,与VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个或多个文

件,简化对文件的反复操作、编写转换程序等。

在处理文本时把当前处理的行在临时缓冲区中,称为“模式空间”

(patternspace),紧接着用SED命令处理缓冲区中的内容,处理完成后把缓

冲区的内容输出至屏幕或者写入文件。

逐行处理直到文件末尾,然而如果打印在屏幕上,实质文件内容并没有改

变,除非你使用重定向输出或者写入文件。其语法参数格式为:

sed[-Options][‘Commands’]filename;

sed工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有

修改,需要加-i参数即对文件彻底修改;

x#x为指定行号;

x,y#指定从x到y的行号范围;

/pattern/#查询包含模式的行;

/pattern/pattern/#查询包含两个模式的行;

/pattern/,x#从与pattern的匹配行到x号行之间的行;

x,/pattern/#从x号行到与pattern的匹配行之间的行;

x,y!#查询不包括x和y行号的行;

r#从另一个文件中读文件;

w#将文本写入到一个文件;

y#变换字符;

q#第一个模式匹配完成后;

l#显示与八进制ASCII码等价的控制字符;

{}#在定位行执行令组;

p#打印匹配行;

=#打印文件行号;

a\#在定位行号追加文本信息;

i\#在定位行号之前文本信息;

d#删除定位行;

c\#用新文本替换定位文本;

s#使用替换模式替换相应模式;

n#下一个输入行,用下一个命令处理新的行;

N#将当前读入行的下一行到当前的模式空

间。

常用SED工具企业演练案列:

(1)替换jfedu.txt文本中old为new:

seds/old/new/gjfedu.txt

(2)打印jfedu.txt文本第一行至第三行:

sed-n1,3pjfedu.txt

(3)打印jfedu.txt文本中第一行与最后一行:

sed-n1p;$pjfedu.txt

(4)删除jfedu.txt第一行至第三行、删除

文档评论(0)

1亿VIP精品文档

相关文档