Linux 第八天: 练习和作业

Linux 第八天: (08月09日) 练习和作业

 

 

 

1删除/etc/grub2.cfg所有以空白开头的行行首空白字符

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

 

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

sed    's@^#[[:space:]]\+@@' /etc/fstab

 

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

sed -r 's@(.*)@#\1@g' /root/install.log
sed -n 's/^/#/p' /root/install.log

 

?在 /root/install.log第1-100行行首增加#号

sed -n '1,100p' /root/install.log |sed 's/^/#/'

 

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

sed  's@^[^#]@#&@' /etc/fstab

 

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

echo /etc/sysconfig/ |sed -r  's#[^/]+/?$##' 目录名

echo "/etc/fst/sd" | sed   -r 's@(.*/)([^/]+/?)$@\1@'
echo "/etc/fst/sd" | sed   -r 's@(.*/)([^/]+/?)$@\2@'

echo "/etc/fst/sd" | sed   -r 's@(^.*/)(.*)/?$@\1@'
echo "/etc/fst/sd" | sed   -r 's@(^.*/)(.*)/?$@\2@'

 

6利用sed取出ifconfig命令中本机ipv4地址

ifconfig|sed -n 2p |sed -r  's/.*addr:(.*)  Bca.*/\1/'
ifconfig|sed -n 2p |sed -e  's/.*addr://' -e 's/ B.*//'

 

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

ls *.rpm |sed -r 's#.*\.(.*)\.rpm$#\1#'|sort  |uniq -c
ls *.rpm |rev |cut -d. -f2 |rev|sort |uniq -c

 

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

sed -r 's@^[[:space:]]+@@g' /tmp/pfofile

 

 

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

%s@^[[:space:]]\+@#&@

 

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

set tabstop=4 临时设置:
vim /etc/vimr–>添加set tabstop=4  全局设置

vim ~/.vimrc 手动添加 set tabstop=4 当前用户

 

 

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

cp /etc/rc.d/init.d/functions /tmp
%s@/etc/sysconfig/init@/var/log@g
sed 's@/etc/sysconfig/init@/var/log@g' /tmp/functions

 

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

:%s@^#\([[:space:]]\+\)@\1@g
set -r 's@^#([[:space:]]+)@\1@' /tmp/functions

 

 

 

 

 

 

原创文章,作者:dengjian,如若转载,请注明出处:http://www.178linux.com/32938