grep命令与正则表达式的应用示例、find命令应用示例

   2016-12-01 0
核心提示:grep命令与正则表达式的应用示例、find命令应用示例显示当前系统上root、fedora或user1用户的默认shell。 使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用

grep命令与正则表达式的应用示例、find命令应用示例

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

    使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用户的默认shell。实现方式及结果如下:

grep命令与正则表达式的应用示例、find命令应用示例 grep命令与正则表达式的应用示例、find命令应用示例

  • 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello()。

    这里需要注意的是小括号因为和正则表达式的元字符相冲突,如果直接写()会有歧义,因此需要对小括号进行转义:()。具体结果如下所示:

grep命令与正则表达式的应用示例、find命令应用示例

  • 使用echo命令输出一个绝对路径,使用grep分别取出其基名。

    取出基名:

grep命令与正则表达式的应用示例、find命令应用示例

  • 找出ifconfig命令结果中的1-255之间的数字。

    1-255之间的数字,如果按照如下方式分解:

    一位数:1-9

    二位数:10-99

    三位数:100-199,200-255

    使用正则表达式可以这样匹配:

grep命令与正则表达式的应用示例、find命令应用示例

  • 写一个模式能匹配合理的IP地址。

    要匹配出合理的IP地址,个人理解还需要结合子网掩码来判断,如果是要匹配出ifconfig中合理的ip地址,可以使用如下模式进行匹配:

grep命令与正则表达式的应用示例、find命令应用示例

  • 写一个模式能匹配出所有的邮件地址。

grep命令与正则表达式的应用示例、find命令应用示例

  • 查找/var目录下属主为root且属组为mail的所有文件或目录。 find使用 -user 选项指定属主,使用 -group 选项指定属组。结果如下:

grep命令与正则表达式的应用示例、find命令应用示例

  • 查找当前系统上没有属主或属组的文件,且最近3天内曾被访问过的文件或目录。

    find使用 -nouser 选项指定查找没有属主的文件;使用 -nogroup 选项查找没有属组的文件;使用 -atime选项指定按文件的最后访问时间查找。结果如下:

grep命令与正则表达式的应用示例、find命令应用示例 grep命令与正则表达式的应用示例、find命令应用示例

  • 查找/etc目录下所有用户都有写权限的文件。

    find使用 -perm 选项可以根据文件权限进行查找,常用的有为两种使用方式,一种是 -perm /mode ,表示任何一类用户中的任何一位权限满足条件即可;一种是 -perm -mode ,表示每一类用户中的每一位权限满足条件才行。这里要求的是所有用户都有写权限,因此应该使用 -perm -mode 这种方式。

    结果如下:

grep命令与正则表达式的应用示例、find命令应用示例 也可以使用 find /etc -perm -a+w

  • 查找/etc目录下大于1M,且类型为普通文件的所有文件。

    find使用-size选项可以根据文件的大小进行查找,常用的有两种使用方式,一种是-size +#unit (unit表示数字单位,有K,M,G),表示查找大于指定大小的文件;一种是-size -#unit,表示查找小于指定大小的文件。

    结果如下:

grep命令与正则表达式的应用示例、find命令应用示例

  • 查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件。

grep命令与正则表达式的应用示例、find命令应用示例

  • 查找/usr目录下不属于root,bin或hadoop的文件。 find支持使用操作符-a(相当于and),-o(相当于or),在这里使用-o操作符。!表示取反,类似于-not。

grep命令与正则表达式的应用示例、find命令应用示例

  • 查找/etc目录下至少有一类用户没有写权限的文件。

grep命令与正则表达式的应用示例、find命令应用示例

  • 查找/etc目录下最近一周内其内容被修改过且不属于root或hadoop的文件。

    括号要使用转义符,“-7”表示在7天内。

    > [root@localhost etc]# find /etc -mtime -7 ! \( -user root -o -user hadoop \)
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • linux sed命令中的正则表达式问号、加号、圆括
    linux sed命令内的正则表达式语法分两种,一种叫Basic (BRE) Syntax,另一种叫Extended (ERE) Syntax。默认使用的是BRE。这个BRE就是一个简化版,语法稍微有点不一样,问号、加号、圆括号、花括号和竖线没有特殊含义,就代表字符本身,如果要原本定义的实现特
    02-09
  • grep正则表达式及sort、diff等相关命令
    Linux文本处理三剑客:grep:文本过滤工具(模式:patter)sed:stream editor 流编辑器,文本编辑工具awk:linux上的实现gawk,文本报告生成器(格式化文本)* 正则表达式:Regular Expression,REGEXP,由一类特殊字符及文本字符所编写的模式,其中有些字符
  • GNU Sed 4.3发布,正则表达式提速10倍
    昨天GNU Sed发布了最新版4.3,号称正则表达式提速10倍,并优化了非阻塞IO性能。具体更新内容请看http://lists.gnu.org/archive/html/info-gnu/2017-01/msg00000.html下载请前往软件主页https://www.gnu.org/software/sed/流编辑器 是用来从文件读取文本或者从
  • 正则表达式和文本处理工具grep,egrep
    正则表达式(Regular Expression)是通过一些特殊字符的排列,来表示控制或者通配的功能,用于查找,替换,删除一行或者多行文字字符串,是用在字符处理上的一项表达式,有时候我们可通过表达式来筛选出我们所需要的信息。正则表达式分为两类:基本正则表达式
  • 第七章 Shell正则表达式
    正则表达式在每种语言中都会有,目的就是匹配符合你预期要求的字符串。7.1 Shell正则表达式基础正则表达式:BRE(basic regular express)扩展正则表达式:ERE(extend regular express),扩展的表达式有+、?、|和()符号描述示例.匹配除换行符(\n)之外的任意
  • 文本处理工具及正则表达式
    一、*各种文本处理工具1.1抽取文本的工具1.1.1cat、less查看文本内容more、less和cat【选项】【文件】cat–n,-d列行,-A:显示所有看不见的符号(控制符),-E:显示结尾$;-s:压缩连续空行为一行more –d:显示翻页及退出提示less:一页一页查看文件或标准
  • week4:grep命令正则表达式的应用
    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限;~]# cp -r /etc/skel/ /home/tuser1 |chmod -R g-rwx,o-rwx /home/tuser12.编辑/etc/group文件,添加组hadoop;~]# echo hadoop:x:2016: /etc/group3.手
  • Linux Shell编程-正则表达式
    Linux Shell编程-正则表达式
    一 正则表达式与通配符 1 正则表达式是用在文件中匹配符合条件的字符串,正则是包含匹配,grep,awk,sed等命令可以支持正则表达式 2 通配符是用来匹配符合条件的文件名,通配符是完全匹配,ls,find,cp这些命令不支持正则表达式,所以只能用Shell自己的通配
  • cp、chmod、chown、grep及正则表达式练习
    cp、chmod、chown、grep及正则表达式练习
    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。编辑/etc/group文件,添加组hadoop。 使用vim指令编辑/etc/group文件,进入末行模式(输入冒号),然后输入$回车,将光标跳至末行,然后按下o(小写)在最
  • 3分钟轻松掌握 grep 命令中的正则表达式
    如何在Linux系统和类 Unix 的操作系统中使用带正则表达式的grep命令呢?Linux系统自带了支持拓展正则表达式的 GNU 版本grep工具。所有的Linux系统中默认安装的都是 GNU 版 grep 。grep命令被用来检索一台服务器或工作站上任何位置的文本信息。一、快速了解正
点击排行