文本过滤、文本查找工具应用示例

文本过滤、文本查找工具应用示例

  • 1.显示当前系统上root、fedora或user1用户的默认shell

    [root@localhost ~]# cat /etc/passwd|grep "^root\>\|^fedora\>\|^user1\>"|cut -d: -f7
      /bin/bash
      /bin/bash
      /bin/bash
  • 2.找出/etc/rc.d/init.d/functions文件中某个单词后面跟一组小括号的行,形如:hello()

    [root@localhost ~]# cat /etc/rc.d/init.d/functions|grep -o "[[:alpha:]]\+\>()"
     checkpid()
     checkpids()
     kill()
     run()
     pidof()
     daemon()
     killproc()
     pidfileofproc()
     pidofproc()
     status()
     success()
     failure()
     passed()
     warning()
     stage()
     success()
     failure()
     passed()
     warning()
     action()
     strstr()
     file()
     true()
     false()
     sysctl()
  • 3.使用echo命令输出一个绝对路径,使用grep取出其基名;扩展,取出其路径名

    [root@localhost ~]# echo "/etc/rc.d/init.d/functions"|grep -o  "[^\/]\+\/\?$"
     functions
    [root@localhost ~]# echo "/etc/rc.d/init.d/functions"|grep -o  "^\/[^[:space:]]\+\/"
     /etc/rc.d/init.d/
  • 4.找出ifconfig命令结果中1-255之间的数字

    [root@localhost ~]# ifconfig|grep  -E  -o "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
    33
    41
    63
    150
    192
    168
    91
    128
    255
    255
    255
    192
    168
    91
    255
    6
    80
  • 5.挑战题:写一个模式,能匹配合理的IP地址

    [root@localhost ~]# ifconfig|grep  -E  -o "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
     192.168.91.128
     192.168.91.255
     192.168.122.1
     192.168.122.255
  • 6.挑战题:写一个模式,能匹配所有的邮件地址

    [root@localhost ~]# echo "1234567nn@163.com"|grep -o "[[:alnum:]]\+@[[:alnum:]]\+\.[[:alpha:]]\+"
     1234567nn@163.com
  • 7.查找/var目录下属主为root,且属组为mail的所有文件或目录

    [root@localhost ~]# find /var -user root -a -group mail -ls
     67292968    0 drwxrwxr-x   2 root     mail          129 Jul 28 18:28 /var/spool/mail
  • 8.查找当前系统上没有属主或属组的文件;进一步查找当前系统上没有属主或属组,且最近3天内曾经被访问过的文件或目录

    [root@localhost ~]# find / -nouser  -a -nogroup  -ls
    [root@localhost ~]# find / -nouser  -a -nogroup -a -atime -3  -ls
  • 9.查找/etc目录下所有用户都有写权限的文件

    [root@localhost ~]# find /etc -perm -222 -ls
     33554500    0 lrwxrwxrwx   1 root     root           17 Jun 30 01:53 /etc/mtab -> /proc/self/mounts
     35553953    0 lrwxrwxrwx   1 root     root           56 Jun 30 02:10 /etc/fonts/conf.d/65-0-lohit-marathi.conf -> /usr/share/fontconfig/conf.avail/65-0-lohit-marathi.conf
     33722185    0 lrwxrwxrwx   1 root     root           56 Jun 30 01:57 /etc/fonts/conf.d/59-liberation-mono.conf -> /usr/share/fontconfig/conf.avail/59-liberation-mono.conf
     35553954    0 lrwxrwxrwx   1 root     root           59 Jun 30 02:10 /etc/fonts/conf.d/65-0-lohit-devanagari.conf -> /usr/share/fontconfig/conf.avail/65-0-lohit-devanagari.conf
     33722192    0 lrwxrwxrwx   1 root     root           56 Jun 30 01:57 /etc/fonts/conf.d/59-liberation-sans.conf -> /usr/share/fontconfig/conf.avail/59-liberation-sans.conf
     35553957    0 lrwxrwxrwx   1 root     root           54 Jun 30 02:11 /etc/fonts/conf.d/66-ucs-miscfixed.conf -> /usr/share/fontconfig/conf.avail/66-ucs-miscfixed.conf
     33735545    0 lrwxrwxrwx   1 root     root           59 Jun 30 01:57 /etc/fonts/conf.d/10-scale-bitmap-fonts.conf -> /usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf
     35553958    0 lrwxrwxrwx   1 root     root           50 Jun 30 02:11 /etc/fonts/conf.d/60-open-sans.conf -> /usr/share/fontconfig/conf.avail/60-open-sans.conf
  • 10.查找/etc目录下大于1M,且类型为普通文件的所有文件

    [root@localhost ~]# find /etc -size +1M -a -type f -ls
     102108754 1364 -rw-r--r--   1 root     root      1394978 Jul  9 05:37 /etc/selinux/targeted/contexts/files/file_contexts.bin
     68163210 3620 -rw-r--r--   1 root     root      3703887 Jul  9 05:37 /etc/selinux/targeted/policy/policy.30
     68163206 3620 -rw-r--r--   1 root     root      3703887 Jul  9 05:37 /etc/selinux/targeted/active/policy.kern
     68112876 7120 -r--r--r--   1 root     root      7289802 Jul  9 05:33 /etc/udev/hwdb.bin
     34410868 1336 -rw-r--r--   1 root     root      1367395 Nov  5  2016 /etc/brltty/zh-tw.ctb

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

(0)
N27_xiaoniN27_xiaoni
上一篇 2017-07-30 21:21
下一篇 2017-07-30 21:53

相关推荐

  • raid5创建

    创建分区并改类型 创建raid5   创建把文件系统 生成配置文件    

    2017-12-17
  • 【招聘】天津/赞普科技股份有限公司/Linux系统运维工程师/6-7k/五险一金

    天津赞普科技股份有限公司——简称赞普科技,成立于2003年,坐落于天津市滨海高新区,是一家专业的互联网综合服务商,主营数字网络建设、数据接入及增值服务和智能化网络产品及服务。历经11年的发展,赞普科技已成长为高新区科技型小巨人企业、国家高新技术企业,专注于移动互联与大数据、云计算、商业WIFI行业的领军者。     赞普科技计划…

    Linux干货 2015-12-03
  • 计算机基础及Linux基础入门

    一.计算机的组成及其功能一.计算机的组成及其功能  1.组成部分: 计算器是由运算器,控制器,存储器,输入设备以及输出设备五大部件组成。 2.功能: 运算器:    对数据进行各种运算 存储器:    存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取 控制器:    控制器是整个计算机系统的控制中心,指挥计算机各部分协调地工作,…

    2017-09-16
  • LVM管理

    一、简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 LVM的工作原理是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对…

    Linux干货 2016-09-06
  • 设计模式(八)装饰器模式Decorator(结构型)

    1. 概述        若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。       通过继…

    Linux干货 2015-07-03
  • 计算机组成及Linux基础

    第1题:描述计算机的组成及功能 1.1计算机的组成       计算机是有 运算器,控制器,存储器,输入设备和输出设备组成计算机 1.2计算机各部件功能 运算器 对数据进行算术运算,逻辑运算和对数据进行加工处理 存储器 存储程序,数据和各种信号,命令等信息,并在需要时提供这些信息 控制器 是整个计算机的中枢神…

    Linux干货 2017-07-02

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-04 16:15

    文本管理工具是非常重要的一项技能,从作业情况来看,掌握的还不错,继续努力。