概述:
本篇我们主要学习两个功能非常强大的文本编辑器,了解这两种文本编辑器的各自的特点
一、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)
原文地址:http://2849159106.blog.51cto.com/7881853/1836613