码迷,mamicode.com
首页 > 系统相关 > 详细

Linux运维学习历程-第八天-Linux文本工具sed与Vim(vi)

时间:2016-08-10 23:05:42      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:linux 运维 centos

概述:

   本篇我们主要学习两个功能非常强大的文本编辑器,了解这两种文本编辑器的各自的特点

一、vi(vim)文本编辑器

    

练习和课后作业

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

sed "s/^[[:space:]]\+//" /etc/grub2.cfg
sed -r "s/^[[:space:]]+//" /etc/grub2.cfg

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

sed -r "s/^#[[:space:]]+//" /etc/fstab
sed "s/^#[[:space:]]\+//" /etc/fstab

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

sed -r "s/^.*/#&/" /root/install.log
sed -r "s/(.*)@#\1/g" /root/install.log
sed  "s/^/#/" /root/install.log

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

sed -r "s/^[^#]/#&/" /etc/fstab

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

echo /etc/fstab | sed -r "s/^\/.*\<//"      #基名
echo /etc/fstab | sed -r "s/([^/]+\/?)$//"      #目录名
echo "/etc/fst/sd" | sed   -r ‘s/(.*/)([^/]+/?)$/\1/‘      #基名用\2 目录名\1

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

ifconfig | sed -n "2p" |sed -r "s/^[^:]+\://" | sed -r "s/[[:space:]].*//"
ifconfig|sed -n 2p |sed -r  ‘s/.*addr:(.*)  Bca.*/\1/‘
ifconfig|sed -n 2p |sed -e  ‘s/.*addr://‘ -e ‘s/ B.*//‘
ifconfig|sed -n 2p |sed -r  ‘s/.*addr:(.*)  Bca.*/\1/‘

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

CentOS6.8

ls /media/CentOS_6.8_Final/Packages/*.rpm |egrep -o "[^.]+.rpm$"|egrep -o "^[^.]+\>"
ls /media/CentOS_6.8_Final/Packages/*.rpm |sed -r "s/\.rpm$//" | sed -r "s/.*\<//"

CentOS7.2

ls /run/media/root/CentOS\ 7\ x86_64/Packages/*.rpm |egrep -o "[^.]+.rpm$"|egrep -o "^[^.]+\>"
ls /run/media/root/CentOS\ 7\ x86_64/Packages/*.rpm  |sed -r "s/\.rpm$//" | sed -r "s/.*\<//"

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

vim ~/.vimrc
set tabstop=4               #tabstop=ts
source ~/.vimrc

为了加强对比度,我们可以吧tabstop的值设为16,对比一下两者的效果

技术分享

技术分享

技术分享

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

cp /etc/rc.d/init.d/functions /tmp
vim /tmp/functions

用vim打开文件后按住shift键单击 :键   从命令模式(编辑模式)进去到插入模式(输入模式)

输入    %s@/etc/sysconfig/init@/var/log@gi    回车

再次进去插入模式(输入模式)

输入  wq    保存并退出

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

vim /tmp/functions

用vim打开文件后按住shift键单击 :键   从命令模式(编辑模式)进去到插入模式(输入模式)

输入    %s@^#\([[:space:]]\+.*\)@\1@g     回车

再次进去插入模式(输入模式)

输入  wq    保存并退出



未完待续

本文出自 “秋风夜雨” 博客,请务必保留此出处http://2849159106.blog.51cto.com/7881853/1836613

Linux运维学习历程-第八天-Linux文本工具sed与Vim(vi)

标签:linux 运维 centos

原文地址:http://2849159106.blog.51cto.com/7881853/1836613

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!