sed与vim相关练习

sed 练习

以行为单位的新增/删除功能

1将 /etc/passwd 的内容列出并且打印行号,同时,请将第 2~5 行删除!

1.png

2在第二行后(亦即是加在第三行)加上“the is xing line?”字样!

2.png

3在第二行前(亦即是加在第而行)加上“the is xing line?”字样!

3.png

4在第二行后面加入两行字,例如“the is xing line  …..”与“habibi ali

4.png

以行为单位的取代与显示功能

5将第2-5行的内容取代成为“No 2-5 number”

5.png

6仅列出 /etc/passwd 文件内的第 2-5 行

6.png

部分数据的搜寻并取代的功能

sed 's/要被取代的字串/新的字串/g'

7取本机IP地址

7.png

8、删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符

8.png

9删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

9.png

10在/root/install.log每一行行首增加#号

10.png

11在/etc/fstab文件中不以#开头的行的行首增加#号

11.png

12处理/etc/fstab路径,使用sed命令取出其目录名和基名

12.png

13利用sed 取出ifconfig命令中本机的IPv4地址

13.png

14统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数

14.png

vim

15复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符

15.png

16复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号

16.png

作业

1、如何设置tab缩进为4个字符? 

    Linux系统中vim设置tab键的宽度 在 Vim 中可以很方便的根据不同的文件类型来设置。

    使用 tab 制表符或者空格还可以设置长度,非常灵活。

    在自己的家目录下建立.vimrc文件。终端输入vi ~/.vimrc 回车。  

    在.vimrc文件中输入如下文本

    [cpp] view plain copy

    set tabstop=4   

    set softtabstop=4   

    set shiftwidth=4   

    set noexpandtab   

    set nu    

    set autoindent   

    set cindent  

    其中:Tabstop:表示一个 tab 显示出来是多少个空格的长度默认 8。

    Softtabstop:表示在编辑模式的时候按退格键的时候退回缩进的长度当使用 expandtab 时特别有用。

    Shiftwidth:表示每一级缩进的长度一般设置成跟 softtabstop 一样。 当设置成 expandtab 时缩

    进用空格来表示noexpandtab 则是用制表符表示一个缩进。

    Nu:表示显示行号。

    Autoindent:表示自动缩进。

    Cindent:是特别针对C语言自动缩进。 

    设置完后保存退出。运行source ~/.vimrc 使配置文件生效。即可体验按tab键时缩进4个空格的宽度,C编程时换行自动缩进。 

2、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log;

   17.png

3、删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号; 

18.png














原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/32163

(0)
M20-1马星M20-1马星
上一篇 2016-08-10
下一篇 2016-08-10

相关推荐

  • 内核编译

    单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制。 内核组成部分核心,一般为bzImage,通常在/boot目录下,名称为vmlinuz-VERSION-RELEASE;: kernel: 内核 kernel object: 内核对象,一般放置于/lib/modules/VERSION-RELEASE/ [ ]: N [M]: M [*…

    Linux干货 2015-11-06
  • 为你的网络传输加把锁(OpenSSL)

    互联网形成的初期,更多关注的是设备之间通过网络相互访问功能的实现,我们都知道,两个设备之间要想相互通信,就必需遵循某种协议,于是早期的互联网也出现来众多的协议,比如传输层最著名的协议就是tcp和udp,而应用层比较著名的协议有:http、ftp、pop、smtp、dns、telnet等等,而这些协议这开发初期,更多是关注功能的实现,数据这网络上传输是明文方式…

    Linux干货 2015-12-06
  • vim编辑器

    vim编辑器    模式化编辑器                        &nbsp…

    Linux干货 2016-08-10
  • 马哥教育网络班N22期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:是连接两个局域网的基于MAC地址数据存储转发设备,工作于数据链路层集线器:所有端口处于同一个广播域和冲突域中,带宽共享,工作于物理层二层交换机:多端口网桥,一个端口一个冲突域,默认所有端口位于同一个广播域中,可以划分vlan,隔离广播域,带宽独享三层交换机:具有路由功能的二…

    Linux干货 2016-10-19
  • LAMP快速部署及LAMP组合深入讲解-2

      lamp SQL 数据管理模型:层次模型、网状模型、关系模型数据分类:结构化数据、半结构化数据、非结构化数据 关系模型 数据库:一个方案、一个项目 二维关系: 表:row, column 索引:index 视图:view SQL接口:Structured Query Language;类似于OS的shell接口;也提供编程功能; ANSI: S…

    2017-06-04
  • linux基础学习-(磁盘管理、分区挂载、SWAP)

    1、磁盘结构 2、分区类型 3、管理分区、文件系统以及挂载设备 4、管理虚拟内存SWAP 一、磁盘结构(机械硬盘) CHS寻址模式将硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。 heads:磁头 tracks:磁道 cylinder: 柱面 sector: 扇区,512bytes(最小的存储单位) 1、其中:每个盘面…

    Linux干货 2016-09-01