20160808课堂练习(sed工具)

练习:

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

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

blob.png

blob.png                  

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

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

blob.png

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

## sed 's@^@#&@' /root/install.log

blob.png

# sed -n 's@^@#@p' /etc/passwd

blob.png

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

# sed -r 's@^([^#]|^$)@#@g' /etc/fstab

blob.png

# sed -n 's@^[^#]\+@#&@p' /etc/fstab

blob.png 

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

目录名:

echo "/etc/fstab" | sed 's@/[^/]\+/\?$@@'

blob.png

# echo "/etc/fstab/" | sed -r 's@[^/]+/?$@@'

blob.png 

# echo "/etc/fstab/" | sed -r 's@(.*/)([^/]+/?)@\1@'

# echo "/etc/fstab/" | sed -r 's@(.*/)([^/]+/?)@\2@'

blob.png 

基名:

#  echo "/etc/fstab" | sed -r 's@.*\<@@'

blob.png 

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

# ifconfig | sed -n '2p' | sed -r 's@\<netmask\>.*$@@' | sed 's@[[:lower:]]\+@@'

blob.png 

# ifconfig | sed -n 2p | sed 's@^.*inet'@@ | sed 's@ net.*$@@'

blob.png 

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

# ls /mnt/Packages/*.rpm | sed 's@\.rpm@@' | sed 's@.*\.@@' | sort|uniq -c

blob.png

# ls /mnt/Packages/ *.rpm | sed 's@\.rpm@@' | sed 's@.*\<@@' | sort |uniq –c

blob.png

# ls /mnt/Packages/*.rpm | sed -r 's@.*\.(.*)\.rpm@\1@' | sort |uniq –c

blob.png

# ls /mnt/Packages/*.rpm | rev | cut -d. -f2 | sort | uniq –c

blob.png

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

(0)
Aaron_wangAaron_wang
上一篇 2016-08-10 10:22
下一篇 2016-08-10 10:22

相关推荐

  • 第三周

    第三周 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@node1 ~]# who -q | sed -n ‘1p’ centos root fedora redhat mint 2.取出最后登录到当前系统的用户的相关信息。 [root@node1 ~]# who -a | tail -1 mint +…

    Linux干货 2017-07-25
  • Linux的常用的计划任务(一次任务与周期性任务) at & cron

      在Linux日常维护工作中,维护员不可能每时每刻都守在服务前前,但如果遇到例行的操作要进行怎么办?设定计划任务!     Linux任务计划、周期性任务执行     • 未来的某时间点执行一次任务:      &n…

    Linux干货 2016-09-09
  • DNS服务器以及子域授权

    1、安装bind      [root@www ~]# yum -y install bind 2、查看安装生成的文件      [root@www ~]# rpm -ql bind | less 3、程序路径     /var/named 4、配置…

    Linux干货 2017-05-31
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2013-06-16
  • 系统自动化安装的实现及SELINUX的设置

    系统的自动化安装     anaconda:系统安装程序         tui:基于图形库curses的文本窗口         gui:图形窗口     装载根文件系统,并启动…

    Linux干货 2016-09-16
  • Linux软件包管理之程序包编译安装

    程序包编译 程序包编译安装: Application-VERSION-release.src.rpm–>      安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装 源代码–>预处理–>编译(gcc)–>汇编&#82…

    Linux干货 2016-08-25