【教学课件】第3章文本编辑.ppt

上传人:小飞机 文档编号:5658587 上传时间:2023-08-06 格式:PPT 页数:30 大小:429.47KB
返回 下载 相关 举报
【教学课件】第3章文本编辑.ppt_第1页
第1页 / 共30页
【教学课件】第3章文本编辑.ppt_第2页
第2页 / 共30页
【教学课件】第3章文本编辑.ppt_第3页
第3页 / 共30页
【教学课件】第3章文本编辑.ppt_第4页
第4页 / 共30页
【教学课件】第3章文本编辑.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《【教学课件】第3章文本编辑.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章文本编辑.ppt(30页珍藏版)》请在三一办公上搜索。

1、第3章 文本编辑,3.1 行编辑器ed3.2 全屏幕编辑器vi3.3 一些文本操作命令,3.1 行编辑器ed,3.1.1 启动ed初学者使用ed编辑某个现有文件之前,最好将文件复制一个副本,以防止错误操作造成原始文件的丢失或损坏。启动ed只需执行ed命令就能打开ed编辑器,即可以编辑新文件。当然也可以编辑旧文件。编辑旧文件由下面语法完成。语法:ed filename旧文件的名称由filename参数指定。,3.1.2 输入和修改打开ed编辑器之后,首先进入命令方式,此时,由于屏幕会显示被编辑文件的总的字符数。为了证实自己已经进入了ed的命令,初学者可以按一下回车键,马上会出现一个问号,如下图所

2、示。,进入ed之后,即可执行各种操作。下面是ed的五种常用操作:(1)移动光标。在ed编辑器中,光标只能向上或向下移动。输入一个数字,光标即可移动到指定数字行。同时会显示所在行的内容,如下图所示。,下面是移动光标有关的常用命令。1 将光标移动到第一行$将光标移动到最后一行x 将光标移动到第x行。x的范围是1到$最后一行的具体数值+/-分别是跳到下一行/跳到上一行.显示光标当前所在行(英文句号)1,x l 和1,x n 显示文件中指定数量的行(请注意1,x l逗号之前是数字1,最后是小写字母L)小写L是在每一行的最后加上“$”符号,而n则在每一行的最开始加入行号。当然如果要显示当前文本有多少行,

3、可以使用下面命令。$n,(2)插入方式。在ed编辑器中,有两种方法可以插入文本,一是插入命令i,二是追加命令a。两者的区别是:i命令是在某一行的前面插入文本,而a命令是在某一行的后面插入文本。插入完后按Enter,再按一个句点“.”就可以退出插入方式,进入命令方式。(3)删除行。在ed编辑器中,d命令可以删除文件中的一行或多行。下面是三个基本的用法:xd删除第x行。m,nd 删除从第m行到第n行。x,$d从第x行开始删去所有行。(4)查找与替换。在ed编辑器中,不能修改某一行中的错误内容,惟一的办法是用正确的行代替错误的旧内容。(5)进入指定的行。,3.1.3 撤消、保存与退出ed编辑器中,撤

4、消可以使用“u”命令,但只能撤消一步。保存文件的命令是:w filename将文件指定的名称保存到磁盘上。如果在打开ed的时候,有使用ed filename,那么保存的时候,只需输入命令“w”。如果输入w filename 那么将是另存为。如果是打开的时候只是使用“ed”,直接新建一个文件,保存时,就必须要用w filename,只使用“w”就会出错。退出ed编辑器可以使用命令“q”。,3.2 全屏幕编辑器vi,3.2.1 进入vivi是Unix系统中使用得最普遍的全屏幕文本编辑器。在不同的系统中可能通过不同的程序来实现vi的功能,这主要涉及到版权的问题,例如在red hat中,经常使用elv

5、is和vim,并在/bin目录下设置名为vi的符号链接指向相应程序。因此,用户如果想使用vi进行文本编辑,可以在系统提示符下输入:vi 如果没有指定要编辑的文件或指定的文件并不存在,则建立一个新的文本。要编辑的文本被显示在屏幕上,行首处有“”符号的表示该行是一个空行。vi有两种工作状态:命令状态和修改状态(插入或者修改统称修改状态)。刚进入vi界面时,用户一般处于命令状态,此时用户还不能像DOS下的编辑器那样可直接对文件进行信息输入,而只能输入一些命令对文件进行某些编辑操作。,3.2.2 光标移动基本的命令包括(注意要区分大小写):左、上、右、下移动光标。h、k、l、j:左、上、右、下移动光标

6、。0(零):将光标移动到行的起始处。$:将光标移动到行的末尾处。H:将光标移到当前窗口(而非全文)的第一行起始处。M:将光标移到当前窗口的居中一行起始处。L:将光标移到当前窗口的最后一行起始处。W:将光标移到下一个单词(word)的第一个字符处。,B:将光标移到上一个单词的第一个字符处。E:将光标移到当前单词的最后一个字符处。G:将光标移动到第行行首。-:将光标移动到上一行的第一个非空字符处。+:将光标移动到下一行的第一个非空字符处。-:将光标移动到上行的第一个非空字符处。+:将光标移动到下行的第一个非空字符处。(:将光标移动到光标当前所在句子的最前面,这里句子是用!.?三种符号界定。):将光

7、标移动到下一个句子的最前面。(:将光标移动到前个句子的最前面。):将光标移动到后个句子的最前面。:将光标移动到光标当前所在段落的最前面,这里段落是用段落之间的空行界定。:将光标移动到下一个段落的最前面。:将光标移动到前个段落的最前面。:将光标移动到后个段落的最前面。,3.2.3 删除与恢复删除命令:X:删除光标所在处字符。dd:删除光标所在的行。D:删除从光标所在之处开始直到该行末尾的全部字符。恢复(Undo)命令:u:恢复刚被删除的文本。U:恢复光标所在行在此次编辑中的全部改变。,3.2.4 替换除上述vi命令外,还有替代命令:r:替代光标所在处的字符,用户在按r后紧接着按要修正的字符。R:

8、进入替代状态,用户可以连续替换多个字符,直至按键退出替换状态为止。如果没有指定要编辑的文件或指定的文件并不存在,则建立一个新的文本。,3.2.5 保存与退出:q:退出vi。:q!:舍弃当前对编辑内容所作的修改,强行退出vi。:w:将正在编辑的内容以为名存盘(相当于Save as.),如果没有指定,则使用原有的文件名称(相当于Save.)。:wq:存盘退出。,3.2.6 进入插入状态在编辑状态下,用户可以进行更灵活的编辑处理,从命令状态转入插入状态可以使用以下几条命令:a:从光标所在之处的后面插入新的字符,插入时,插入处后面的字符会随着新增字符往后移动。A:从光标所在行的最后处开始加入新的字符。

9、i:从光标所在之处的前面插入新的字符,插入时,插入处后面的字符会随着新增字符往后移动。I:从光标所在行的第一个非空字符前面开始加入新的字符。o:在光标所在行的下面新增一个空行,并进入插入状态。O:在光标所在行的上面新增一个空行,并进入插入状态。s:删除光标所在之处的字符,并进入插入状态。S:删除光标所在的行,并进入插入状态。,3.2.7 寻找指定字符或字符串还有一些更为高超的使用技巧。如在命令状态下,可进行字符和字符串检索。方法是:f:从光标所在处开始,将光标向右移动到第一个出现的地方。F:从光标所在处开始,将光标向左移动到第一个出现的地方。;:配合f与F命令使用,表示继续往同方向检索一次。,

10、:配合f与F命令使用,表示继续往反方向检索一次。/:从光标所在处开始,往后搜索第一个有的地方,然后把光标放到该处。?:从光标所在处开始,往前搜索第一个有的地方,然后把光标放到该处。n:配合/与?命令使用,表示继续往同方向检索一次。N:配合/与?命令使用,表示继续往反方向检索一次。,3.2.8 块操作在vi下也可以方便地实现整块文本的复制和转移。用:d来删除一个由所指定的文本块(d表示delete),并将其放入缓冲区(Buffer,内存中开辟的一个临时存放区域,其在vi中的作用类似于DOS/Windows下的Clipboard)。此处,往往是一个光标移动命令,表示“从光标当前位置到光标的目标位置

11、之间的文本块”,常用的范围例如:E:从光标当前位置到当前所在单词的最后一个字符。B:从光标当前位置到上一个单词的第一个字符。$:从光标当前位置到该行的最后一个字符。):从光标当前位置到下一句的第一个字符。3):从光标当前位置到后面第三句的第一个字符。:从光标当前位置到当前段落的第一个字符。:从光标当前位置到下一段落的第一个字符。命令:y则可把指定的文本块复制到缓冲区(y表示yank)。而缓冲区中的内容可以用命令:p放置(p表示put)到光标当前所在处。,3.3 一些文本操作命令,3.3.1 more与less使用cat命令可以显示文本文件的内容,但对于一些内容较多的文本可能会使屏幕快速上翻,以

12、至用户不能及时看清输出的内容,此时可以利用我们在前一章讲过的通用翻屏暂停命令more及管道符“|”:cat|more管道符“|”的作用是把前一命令的输出作为后一命令的输入。more还有一个增强功能的版本less,使用less除了实现翻屏暂停外,还可以用光标键或翻页键往前、往后翻屏,用法如下:cat|less退出less,可以按q。前面的man命令输出实际上就是由less进行处理。在less后使用-N可选项可产生带行号的输出。,3.3.2 prpr命令可处理其他命令产生的输出的格式,用法为:pr 此命令使所代表的文件按指定的格式在标准输出处输出,如果被省略,则通过管道获得输入,常用的可选项有:+

13、:从指定页号的页开始输出,缺省页号是1。-:指定输出时的分栏数,缺省为1。-W:每行字符数,缺省是72。-l:每页的行数,缺省为66。-h:用指定的字符串代替文件名称作为题头。,3.3.3 head与tailcat命令将整个文本内容输出,但有时我们只是关心文本中某些部分的内容,此时可以使用tail和head命令实现部分输出。tail命令可以将文本文件的最后部分输出,用法为:tail-表示要输出的行数,默认值为10。head命令将文本文件的开头部分输出,用法为:head-同样表示要输出的行数,默认值为10。tail的另一个常用的用法是用来查看日志文件,使用“-f”参数。tail f 此命令用来观

14、看指定日志文件追加的内容。,3.3.4 spellspell命令可以检查一个英文文本的拼写问题,用法是:spell 3.3.5 diff与cmpdiff命令可以比较两个文本文件的不同之处。diff diff是以文本行为单位进行比较的,它可将两个文件中有差异的文本行列出。先把上文提到的文件abc拷贝一个副本abc1,然后随便做一些修改。然后再执行下面的命令:#diff abc abc1,3.3.6 wcwc命令可以统计一个文件(或标准输入)中的文本行数、单词数以及总字符数,用法是:wc 3.3.7 grepgrep 效果,对符合的输出进行筛选。grep一般都用在对输出结果的上面。,3.3.8 f

15、ind 和locatefind命令可以实现非常复杂的检索,用法如下:find 是指在哪些目录树中进行检索,在此指出该目录树的起点目录,如果有多个目录,可用空格分开或使用通配符。主要有:(1)根据文件(目录)名称进行检索。-name 中可以使用通配符*和?以实现模糊查询。也可使用:-iname 这种用法在检索时不区分的大小写。,(2)根据文件的类型即权限字串中的第一个字符进行检索。-type 这里包括:f:一般文件。d:目录文件。c:字符设备文件。b:块设备文件。p:管道文件。l:符号链接。s:套接文件。,(3)根据文件的连接数进行检索。-link 指定文件的连接数。(4)根据文件的八进制权限串

16、进行检索。-perm-如果在八进制权限串前使用“-”,则表示检索条件为“不是这个八进制权限串的文件”。(5)根据文件的大小进行检索。-size k(6)根据文件的拥有者进行检索。-user,(7)根据文件被访问或修改的时间进行检索。-atime 表示检索在所指定的天数前访问过的文件。而:-mtime 则表示检索在所指定的天数前修改过的文件。-newer 表示检索所有修改时间比所指定文件更新的文件。,以上的还可以通过逻辑运算进行组合,产生更复杂的检索条件。这些逻辑运算包括:与:即.and.操作,无须特别算符表达,只须将检索方式全部列出,中间用空格分开即可。或:即.or.操作,用算符-o表示,当两

17、个检索条件是“或”关系时,将“-o”放在两个检索条件之间。否:即.not.操作,用算符!表示。当把一些检索条件组合时要使用“()”,但“()”在下有特殊含义,故要用转义符“”将其写为“(”和“)”。,常用的有:-print:将检索到的文件名称在标准输出(屏幕)上显示。-exec;:执行,如果命令中要使用检索出的文件名称的话,用符号“”来代替,系统会在发现“”的地方,将检索出来的文件名称传递给该命令。,另一条常用的检索命令是grep,可用于检索包含指定字符表达式的文件,字符表达式中可以包含“*”、“?”等通配符以实现模糊查询(也称作“正则表达式”)。用法如下:grep 如果只需输出要寻找的文件的

18、名称,可以使用-l可选项,忽略字母大小写的区别可用可选项-i,如果要输出不包含指定字符串的文件名称,用可选项-L。有两条改进过的grep族命令:fgrep和egrep。fgrep速度较快,但只能检索固定的字符串,不能使用通配符,用法以及可选项与grep类似。egrep则可检索“增强”的正则表达式,表示在当前目录下所有文件中寻找含有字符串Someone、someone、Anyone或anyone的文件,其中,“|”表示是“两者之一”,而“()”用于生成表达式,这些增强用法在普通的正则表达式中是没有的。,在Linux中还有一个比较强大的查找工具,那就是locate。在使用locate之前,要使用updatadb这个工具,先将整个硬盘的文件建立一个索引,然后利用locate读出来。使用步骤:(1)运行updatadb,等待到索引完成。(2)locate。,小结本章主要介绍了编辑器的基本操作以及文本文件的基本操作。vi编辑器是一个功能非常强大而且复杂的编辑器,要了解更多的用法可以参考man文档。熟悉的掌握vi编辑器一些基本技巧是非常重要的,无论是对文本的修改或者在后面讲到的shell程序和程序的开发都会使用到vi编辑器。Find和locate等命令,对查找文件很有帮助。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号