grep: Global search REgular expression and Print out the line

作用: 文本搜索工具,根据用户指定的模式对目标文本逐行进行匹配检查,打印匹配到的行

模式: 由 正则表达式字符及文本字符所编写的过滤条件

正则表达式内容可参考博文:https://www.cnblogs.com/ckh2014/p/10758769.html

grep [OPTIONS] PATTERN [FILE...]
选项:
--color=auto: 对匹配到的文本着色显示
-v : 显示不能够被pattern匹配到的行
-i : 忽略字符大小写
-o : 仅显示匹配到的单词
-q: 静默模式,不输出任何消息
-A # :after, 后#行
-B # :before,前#行
-C # : context, 前后各#行
-E ; 使用扩展的正则表达式 grep练习:
1. 显示/proc/meminfo 文件中以大小写s开头的行:(要求: 使用两种方式)
# grep "^[sS]" /proc/meninfo
# grep -i "^s" /proc/meminfo 2. 显示/etc/passwd文件中不以/bin/bash结尾的行
# grep -v "/bin/bash$" /etc/passwd 3. 显示/etc/passwd 文件中ID号最大的用户的用户名
# sort -t: -k 3 -n /etc/passwd | tail -1 | cut -d: -f1 4.如果用户root存在,显示其默认的shell程序
# grep "^root\>" /etc/passwd &> /dev/null | cut -d: -f7
# id root &> /dev/null && grep "^root\>" /etc/passwd | cut -d: -f7 5. 找出/etc/passwd中的两位或三位数
# grep -o "\<[0-9]\{2,3\}\>" /etc/passwd 6.显示/etc/rc.d/rc.sysinit文件中,至少以一个空白字符开头的且后面存在非空白字符的行
# grep "^[[:space:]].*[^[:space:]].*"
# grep "^\([[:space:]]\).*[^\1].*"
# grep "^[[:space:]]"\+[^[:space:]] 7.找出netstat -tan 命令的结果中以 LISTEN 后跟0、1或多个空白字符结尾的行
# netstat -tan | grep "LISTEN[[:SPACE:]]*$" 8.添加用户bash、testbash、basher以及nologin(其shell为/sbin/nologin):而后找出/etc/passwd文件中用户名同shell名的行
# useradd -s /sbin/nologin nologin
# useradd bash
# grep "^\([[:alnum:]]\+\>\).*\1$" /etc/passwd 9. 写一个脚本,实现如下功能
如果user1用户存在,就显示其存在,否则添加之
显示添加的用户的id号等信息
#!/bin/bash
id user1 &> /dev/null && echo "user1已存在" || useradd user1
id user1 10. 写一个脚本,完成如下功能
如果root用户登录了当前系统,就显示root用户在线,否则说明其未登录
#!/bin/bash
w | grep "^root\>" &> /dev/null && echo "root logged" || echo "root not logged" egrep = grep -E
egrep [OPTIONS] PATTERN [FILE...]
egrep练习:
1.显示当前系统root、centos或user1用户的默认shell和UID
# egrep "^root|centos|user1\>" /etc/passwd | cut -d: -f3,7 2.找出/etc/rc.d/init.d/functions文件(centos6)中某单词后面跟一个小括号的行
# egrep -o "^[_[:alnum:]]+\(\)" /etc/rc.d/init.d/functions 3.使用echo输出一绝对路径,使用egrep取出其基名
# echo "/etc/rc.d/init.d/functions" | egrep -o "[^\/]+" | tail -1 进一步:使用egrep取出路径的目录名,类似于dirname命令的结果
# echo "/tmp/init.d/function/base.txt" | egrep "(\/).*\1\b" 4.找出ifconfig命令结果中1-255之间的数值
# ifconfig | egrep "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

linux基础之grep的更多相关文章

  1. Linux基础:Grep查询&AWK查询

    Grep:搜索文件内匹配指定内容的行 常用的Grep搜索方法: 1. grep "普通搜索内容" file( 或者 cat file|grep "普通搜索内容" ...

  2. Linux基础正则表达式:grep,sed

    先说明语系对正则表达式的影响    LANG=C:0,1,2,3,4...A,B,C,D...Z a b c d ... z    LANG=zh_CN:0,1,2,3,4...a A b B c C ...

  3. 【Linux基础】grep命令

    1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 命令格式:grep [option] pattern file 2.常用参数与举例: -e :  使用P ...

  4. Linux中通过grep命令检索文件内容和指定内容前后几行

    原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...

  5. Linux基础命令-Nginx-正则表达式( grep sed awk )-Shell Script--etc

    Linux基础使用 学习内容博客 内存 查看swap分区信息 > swapon -s 添加swap分区 > mkswap /dev/sdb2 > 激活 swapon -a /dev/ ...

  6. linux基础知识汇总(四)--ps grep命令

    转:http://www.cnblogs.com/allen8807/archive/2010/11/10/1873843.html http://www.cnblogs.com/end/archiv ...

  7. 10、Linux基础--find、正则、文本过滤器grep

    笔记 1.晨考 1.每个月的3号.5号和15号,而且这天是星期六时执行 00 00 3,5,15 * 6 2.每天的3点到15点,每隔3分钟执行一次 */3 3-15 * * * 3.每周六早上2点半 ...

  8. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  9. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

随机推荐

  1. windows修改PowerShell(命令提示符)默认中文编码方式

    如果以下方法都没有作用的话,可以直接在代码中调用<stdlib.h>中的system("mode con cp select=65001")或者是system(&quo ...

  2. 【C++/实验三】类和对象

    1.定义一个矩形类,有长,宽两个属性,有成员函数计算矩形的面积. 在该矩形类中,我做了5个主要的测试. 构造函数带默认值参数,利用默认值参数计算矩形面积:rectangle(double x=2.0, ...

  3. PM2.5环境检测系统的设计与分析

    PM2.5环境检测系统的设计与分析   摘要: 大气颗粒物污染对人类健康和生态环境造成了很大的影响,这让人们逐渐重视起对细颗粒物PM2.5检测技术的研究.本文阐述了PM2.5浓度检测的五种方法,在对上 ...

  4. HTML、CSS知识点,面试开发都会需要--No.7 数据列表

    No.7 数据列表 1.无序列表Unordered List 无序列表用block-level元素ul(unordered list)表示,每个item单独使用li(list)标记.如下代码所示: & ...

  5. 主席树 || 可持久化线段树 || LCA || BZOJ 2588: Spoj 10628. Count on a tree || Luogu P2633 Count on a tree

    题面: Count on a tree 题解: 主席树维护每个节点到根节点的权值出现次数,大体和主席树典型做法差不多,对于询问(X,Y),答案要计算ans(X)+ans(Y)-ans(LCA(X,Y) ...

  6. 磁盘异步I / O在Windows上显示为同步

    概要 Microsoft Windows上的文件I / O可以是同步或异步的.I / O的默认行为是同步的,其中调用I / O函数并在I / O完成时返回.异步I / O允许I / O函数立即将执行返 ...

  7. redis问题与解决思路

    问题现象: 集群状态 1主 2从,主没有开启bgsave,从开启bgsave.现象所有redis可以访问,进行操作.主不断开始bgsave 1从停止bgsave. 主日志报错# Connection ...

  8. webstorm 配置 开发微信小程序

    默认情况下,webstorm是不支持wxml和wxss的文件类型,不会有语法高亮 设置高亮 除了高亮,还需要代码提示, 所幸已经有前辈整理了小程序的代码片段,只需要导入其安装包即可使用,包文件路径如下 ...

  9. Python基础(十) __init__与__new__区别

    __init__与__new__区别: __init__在python,其实是,在实例化之后执行的,用来初始化一些属性,相当于构造函数,但是又不一样 细心一些,通过参数会有所发现,其实__init__ ...

  10. vue 之iview

    iView-admin2.0:https://admin.iviewui.com/ 组件:https://www.iviewui.com/docs/guide/install