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 21:42
下一篇 2016-08-06 17:05

相关推荐

  • Puppet学习之puppet的安装和配置

    一、Puppet简介 Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理。Puppet适用于服务器管的整个过程 ,比如初始安装、配置更新以及系统下线。 二、Puppet的安装 Puppet的安装方式支持源码安装、yum安装以及r…

    2017-09-25
  • Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小…

    Linux干货 2016-08-15
  • 第十周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     CentOS系统启动流程:     1.加电自检:由bios去检测各硬件是否存在且是否正常运行,然后进行硬件初始化     2.选择启动顺序,加载mbr:根据bios设置的设备启动顺序,…

    2017-07-03
  • Tomcat

        Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但…

    2017-09-05
  • iptables总结

    iptables简称为包过滤型防火墙一般分为2种:     1,主机防火墙:主机防火墙是用来防止本主机内的应用服务被攻击所需要保护的防火墙     2,网络防火墙:做为想路由功能的防火墙凡是进过此服务器的数据包都要进行规则匹配 iptables的架构由功能和链组成  &…

    Linux干货 2016-12-05
  • sed工具 vim编辑器

    sed工具:    用法:           sed [option]… 'script' inputfile…      常用选项:           &nbs…

    Linux干货 2016-08-12