好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

即用即查Linux命令行实例参考手册第12章.doc

9页
  • 卖家[上传人]:m****
  • 文档编号:421133395
  • 上传时间:2022-11-04
  • 文档格式:DOC
  • 文档大小:78KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 即用即查Linux命令行实例参考手册代码第12章 Linux实用操作命令文本行编辑器――eded命令语法:ed [参数][文件]实例:编辑一个文本文件readme.txt,实验子命令acidnwq[root@localhost ~]# ed ; 激活 ed 命令 a ; 告诉 ed 要编辑新文件 My name is sheriff. ; 输入第一行内容 And I love Linux very much. ; 输入第二行内容 . ; 返回 ed 的命令行状态 i ; 告诉 ed 要在最后一行之前插入内容 I am 24. ; 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间 . ; 返回 ed 的命令行状态 c ; 告诉 ed 要替换最后一行输入内容 I am 24 years old. ; 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容) . ; 返回 ed 的命令行状态 w readme.txt ; 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) q ; 完全退出 ed 编辑器 [root@localhost ~]# ; 返回到 Linux 系统的命令行状态 这是文件的内容是:[root@localhost ~]#cat readme.txt <- My name is sheriff I am 24 years old. And I love Linux very much. [root@localhost ~]#文本编辑器――exex命令语法:ex [文件名] 实例1:使用ex编辑器编辑文件readme.txt,在该文件的第5行插入字符串“hello world!”。

      [root@localhost ~]#ex readme.txt :1,6p:4a! hello world! [Ctrl]+c:1,6p实例2:使用ex编辑器编辑文件readme.txt,将该文件的第5行用字符串“hi ex editor!”替换[root@localhost ~]#ex readme.txt :1,6p:5c! hi ex editor! [Ctrl]+c:1,6p实例3:使用ex编辑器编辑文件readme.txt,将该文件的第1到3行的内容删除[root@localhost ~]#ex readme.txt :1,6p :1,3d :1,3p 实例4:使用ex编辑器编辑文件readme1.txt,显示在该文件的第1到10行内有字符串“Apache”的行[root@localhost ~]#ex readme1.txt :1,10p :1,10g/Apache/ 实例5:使用ex编辑器编辑文件readme.txt,将文件中第3到5行的内容搬移到第6行之后[root@localhost ~]#ex readme.txt :1,6p :3,5m6 :1,6p 文本文件编辑器――jedjed命令语法:jed [参数][文件] 实例:使用编辑器jed编辑一个新文件demo.c。

      [root@localhost ~]#jed demo.c 文本编辑器――picopico命令语法:pico [参数][文件] 实例:使用pico编辑一个文件readme.txt[root@localhost ~]#pico readme.txt 文本流编辑器――sedsed命令语法:sed [参数][文本文件]实例1:假定某个正在编辑的文件的其中一行是“The tiger cubs will meet on Tuesday after school”,现需要对该行多次修改,将“tiger”替换为“wolf”,“after”替换为“before”如果需要对同一文件或行作多次查找替换操作,可以有两种方法来实现第一种是使用“-e”选项,通知程序使用了多条查找替换命令[root@localhost ~]#echo The tiger cubs will meet on Tuesday after school | sed –e 's/tiger/wolf/' –e 's/after/before/' 第二种是使用分号来分隔多条查找替换命令,但使用该方法时需注意分号必须是紧跟斜线之后的下一个字符。

      如果两者之间有一个空格,操作将会失败并且返回一条错误消息[root@localhost ~]#echo The tiger cubs will meet on Tuesday after school | sed 's/tiger/wolf/; s/after/before/' 实例2:多次查找替换行信息假定某个正在编辑行信息如下:The tiger cubs will meet on Tuesday at the same timeas the meeting last Tuesday现要求对正在编辑行信息作多次查找替换工作,将“Tuesday”替换为“Thursday”该项需求看似简单,似乎与实例一没有区别用实例一的方法试验如下:[root@localhost ~]#echo The tiger cubs will meet on Tuesday at the same time as the meeting last Tuesday | sed 's/ Tuesday / Thursday /' 为了将替换操作的控制范围覆盖到整个编辑的行信息,即在同一行中出现了多个要替换的单词的情况下,就必须指定在当前查询替换操作是面向全局范围。

      [root@localhost ~]#echo The tiger cubs will meet on Tuesday at the same time as the meeting last Tuesday | sed 's/ Tuesday / Thursday /g' 实例3:假定已经存在一个文本文件sample.txt,其内容如下,现希望用“2”替换“1”,但仅在单词“two”之后才作替换,而不是每一行的所有位置[root@localhost ~]#cat sample.txt one 1two 1three 1one 1two 3three 1two 1[root@localhost ~]#sed –e ‘/two/ s/1/2/’ sample.txt one 1two 2three 1one 1two 3three 1two 2实例4:显示上述文本文件sample.txt中第2到6行的信息[root@localhost ~]#sed -n ‘2,6p’ sample.txt two 1three 1one 1two 3three 1实例5:删除上述文本文件sample.txt中包含“two”的所有行。

      [root@localhost ~]#sed ‘/two/ d’ sample.txt one 1three 1one 1three 1实例6:使用sed命令将文字“hello world!”追加到文本文件sample.txt末尾[root@localhost ~]#sed ‘$a\hello world!\’ sample.txt 实例7:使用sed命令将文字“hello world!”插入到文本文件sample.txt的第三行之前[root@localhost ~]#sed ‘3i\hello world!\’ sample.txt 全屏幕文本编辑器――vivi命令语法:vi [参数][文件...] 实例1:使用vi编辑器打开或新建一个文件通常使用vi命令时,直接在vi命令后指定一个文件名,当文件名指定的文件存在时,便会打开该文件;而当指定文件名的文件不存在时,系统会自动新建一个以指定文件名命名的文件[root@localhost ~]#vi +/computer demo.c 光标在文件被打开后定位在了“int computer(int a, int b)”行,原因在于对于使用了参数“+/computer”,该参数的意义就是从光标开始处向文件尾部去搜索匹配模式“computer”的行,搜索到第一个匹配模式的行后,将光标定位在该行行首。

      实例2:使用vi编辑器向文件menu.c中插入文本[root@localhost ~]#vi menu.c 执行a,A,i,I,o,O命令之一,使vi从一般模式切换至编辑模式在编辑模式下用户可以全屏模式编辑打开的文档当所有的编辑工作完成以后,便可以通过按Escape键返回vi编辑器的普通模式,然后可以输入:命令使vi编辑器切换至命令行模式,最后执行wq命令保存编辑结果并退出vi编辑器实例3:复制文件/etc/man.config到当前的实验目录,使用vi编辑器编辑该文件以下一系列任务使用 vi 开启本目录下的 man.config 这个档案[root@localhost ~]#vi man.config 在vi中设定一下行号使vi编辑器处于命令行模式,然后输入如下命令::set number 移动到第58行,向右移动40个字符,查看双引号内的目录使vi编辑器处于一般模式,然后输入如下命令58G ; --作用是将光标移动到第58行40[->] ;--作用是将光标向右移动40个字符,其中[->]表示向右的方向键此时可以看到光标定位处的双引号中是/dir/bin/foo目录移动到第一行,并且向下搜寻一下“Tutf8”这个字符串,请问他在第几行?使vi编辑器处于一般模式,然后输入如下命令。

      1G ; --作用是将光标移动到第1行/ Tutf8 ; --作用是向后搜索“Tutf8”字符串此时可以看到光标定位在第98行处的“Tutf8”字符串所在的位置将50~100行之间的man改为MAN,并且一个一个挑选是否需要修改,如何下达命令?使vi编辑器处于命令行模式,然后输入如下命令50,100 s/man/MAN/gc 此时可以看到光标定位在第51行,提示“man”将会被“MAN”字符串所替换在完成问题5所述的字符串替换操作后,想要全部复原方法一:使vi编辑器处于一般模式下,然后一直输入命令u直到全部复原此时可以看到光标定位在第51行,提示“man”将会被“MAN”字符串所替换方法二:使vi编辑器处于命令行模式下,执行命令q,不保存数据退出vi系统,然后重新打开文件复制51~60行这十行的内容,并且贴到最后一行之后使vi编辑器处于一般模式,然后输入如下命令51G ;--作用是将光标移动到第51行10yy ;--作用是从光标所在行开始向下复制10行数据G ;--作用是将光标移动到文件末。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.