8月5日文本处理工具作业

分析文本工具相关练习题

1 、找出ifconfig 命令结果中本机的所有IPv4 地址    

  ~]# ifconfig|tr -cs '[0-9].' '\n'|sort -ut '.' -k3

    255.255.0.0
    127.0.0.1
    10.1.249.36
    10.1.255.255

2 、查出分区空间使用率的最大百分比值

    ~]# df -h    
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg0-root   20G  6.1G   13G  33% /
    tmpfs                 491M     0  491M   0% /dev/shm
    /dev/sda1             190M   34M  147M  19% /boot
    /dev/mapper/vg0-usr   9.8G  2.1G  7.2G  23% /usr
    /dev/mapper/vg0-var    20G  122M   19G   1% /var
     ~]# df -h|tr -s ' '|cut -d ' ' -f 5|sort -n|tail -1
    33%

3 、查出用户UID 最大值的用户名、UID 及shell 类型

     ~]# cat /etc/passwd|sort -t: -k3 -n|tail -1|cut -d: -f 1,3,7        
      nfsnobody:65534:/sbin/nologin

4 、查出/tmp 的权限,以数字方式显示

     ~]# stat /tmp|head -4|tail -1|cut -d'(' -f2|cut -d '/' -f1        
      1777

5 、统计当前连接本机的每个远程主机IP 的连接数,并按从大

到小排序

      ~]# netstat -nt |tr -s ' '|cut -d' ' -f 5|sort -n|uniq -c
      1 Address
      1 servers)
      1 10.1.250.58:56102

grep相关练习题

1、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式)

 1.   ~]# grep -i "^S" /proc/meminfo
    SwapCached:            0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Shmem:               236 kB
    Slab:              76832 kB
    SReclaimable:      50940 kB
    SUnreclaim:        25892 kB
2.   ~]# grep  "^[sS]" /proc/meminfo
    SwapCached:            0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Shmem:               236 kB
    Slab:              76792 kB
    SReclaimable:      50944 kB
    SUnreclaim:        25848 kB
 3.~]# egrep "^(s|S)" /proc/meminfo
    SwapCached:            0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Shmem:               236 kB
    Slab:              76800 kB
    SReclaimable:      50944 kB
    SUnreclaim:        25856 kB

2、显示/etc/passwd文件中不以/bin/bash结尾的行

         ~]# cat /etc/passwd|grep -v "/bin/bash$"
        bin:x:1:1:bin:/bin:/sbin/nologin
        daemon:x:2:2:daemon:/sbin:/sbin/nologin
        adm:x:3:4:adm:/var/adm:/sbin/nologin
        lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
        sync:x:5:0:sync:/sbin:/bin/sync
        shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

3、显示用户rpc默认的shell程序

        ~]# cat /etc/passwd|grep 'rpc\>' |cut -d: -f7
        /sbin/nologin

4、找出/etc/passwd中的两位或三位数

      ~]#cat /etc/passwd|grep '\b[1-9][0-9]\{1,2\}\b'    
      ~]# cat /etc/passwd|grep "\b[0-9][0-9][0-9]\?\b"

5、显示/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行

      ~]# cat /etc/grub2.cfg |grep "^[[:space:]]\+[^[:space:]]\+"

6、找出“netstat -tan”命令的结果中以‘LISTEN’后跟任意多个空白字符结尾的行

     ~]# netstat -tan|grep "LISTEN[[:space:]]*$"

7、添加用户bash、testbash、basher以及nologin(其shell为/sbin/nologin),而后找出/etc/passwd文件中用户名同shell名的行

    ~]# cat /etc/passwd|grep "^\([[:alnum:]]\+\):.*\1$"    
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    bash:x:1003:1005::/home/bash:/bin/bash
    nologin:x:1006:1008::/home/nologin:/sbin/nologin
    ash:x:1007:1009::/home/ash:/bin/bash

egrep相关练习题

1、显示三个用户root、mage、wang的UID和默认shell

     ~]# cat /etc/passwd|egrep "^(mage|wang|root)" |cut -d : -f 3,7    
    0:/bin/bash
    503:/bin/bash
    509:/bin/bash

2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行

     ~]# cat /etc/rc.d/init.d/functions|egrep "^[[:alpha:]_]+\(\)"    
    checkpid() {
    __pids_var_run() {
    __pids_pidof() {
    daemon() {
    killproc() {

3、使用egrep取出/etc/rc.d/init.d/functions中其基名

    ~]# ls -l /etc/rc.d/init.d/functions |egrep -o "[^/]+/?$"    
    functions

4、使用egrep取出上面路径的目录名

     ls -l /etc/init.d/functions |egrep -o "(/.*/)"

5、统计以root身份登录的每个远程主机IP地址的登录次数

last | grep -E -o "^root\>.*([[:digit:]]\.){3}[[:digit:]]" |tr -s '' | cut -d' ' -f3 | sort | uniq -c

6、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255

    0-9:[0-9] ; 10-99 :[1-9][0-9];100-199:1[0-9]{2};200-249:2[0-4][0-9];25[0-5]

7、显示ifconfig命令结果中所有IPv4地址

     ~]# ifconfig|egrep -o  "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"    
    10.1.249.36
    10.1.255.255
    255.255.0.0
    127.0.0.1
    255.0.0.0

    

课后作业

1、取各分区利用率的数值

    ~]# df -h|egrep "/dev/sd" |tr -s ' '|cut -d' ' -f 5|tr -d %    
    37
    13
    29

2、统计/etc/init.d/functions 文件中每个单词出现的次数,并按频率从高到低显示

    ~]# cat /etc/init.d/functions |tr '[[:punct:]]' '\n'|tr '[[:digit:]]' '\n'|tr -s '[[:space:]]' |sort|uniq -c|sort -t' ' -k1 -rn

3、正则表达式表示身份证号

        ~]# cat test |egrep "\b[0-9]{15}\b|\b[0-9]{18}\b|\b[0-9]{17}[xX]\b"
	
	32454648456545455x
	54654465464654644X
	215451412152412

4、正则表达式表示手机号

    cat f1 | egrep "\b1[34578][0-9]{9}\b"

5、正则表达式表示邮箱

    ~]# cat test| egrep "\b[[:alnum:]_-]+@[[:alnum:]]+.(com|cn)\b"

6、正则表达式表示QQ号

    ~]# cat f1 |egrep "\b[1-9][0-9]{5,9}\b"    
    564654
    1546562
    457896541

原创文章,作者:提着酱油瓶打醋,如若转载,请注明出处:http://www.178linux.com/29984

(0)
提着酱油瓶打醋提着酱油瓶打醋
上一篇 2016-08-05
下一篇 2016-08-06

相关推荐

  • 高性能Mysql主从架构的复制原理及配置详解

    1 复制概述       Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器…

    Linux干货 2015-04-13
  • N22第七周作业

    1.创建一个10G的分区,并格式为ext4的文件系统;     (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; # fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改…

    Linux干货 2016-10-24
  • 优云automation实践技巧:简单4步完成自动化构建发布

    前言:本文介绍了优云是如何将运维自动化产品应用到日常工作实践中,并通过内部用户的大量使用来不断改进产品的用户体验。 各位看官,这不是一个揭发单身有为青年因同事们天天秀恩爱而受到一万点暴击伤害的故事。这里指的狗粮,不是真正的“狗粮”——当然,也不是你们认为的狗粮。 事实上,现在很多涉足产品开发的互联网公司,都会提到“吃狗粮”这一概念(出自“Eating you…

    系统运维 2017-01-09
  • 我的第一篇博客

        大家好,欢迎阅读我的博客!     今天是我生平第一次写博客,恩  为什么现在才开始写呢?     其实是作业要求 哈哈!虽然是写作业,本萌新也是很拼的!     希望在以后学习li…

    2017-07-10
  • 第三周

    第三周 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
  • Lnmp安装脚本

    1、源码编译安装LNMP架构环境; 此题略 此链接为安装nginx时,编译参数和各个模块和第三方模块的介绍,十分丰富,安装前可以参考学习 https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/ 2、编写一个脚本完成以下功能:    (1)、一键搭建…

    Linux干货 2016-12-05