首页 > 其他分享 >grep命令详解

grep命令详解

时间:2022-10-08 21:38:55浏览次数:59  
标签:输出 grep 48 dev 命令 详解 匹配 data


grep 搜索文本的匹配内容,逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
 
常用的grep选项有:
 -c 只输出匹配行的计数。
 -i 不区分大小写(只适用于单字符)。
 -h 查询多文件时不显示文件名。
 -l 查询多文件时只输出包含匹配字符的文件名。
 -n 显示匹配行及行号。
 -s 不显示不存在或无匹配文本的错误信息。
 -v 显示不包含匹配文本的所有行。
 
 输入字符串参数时,用双引号括起来,如 "who am i"
 调用变量时,用双引号,如 grep "$MYVAR"
 匹配模式,用单引号,
 
例子:
 grep "good" *.doc  在所有.doc文件中查找字符串"good"
 grep -c "48" data.f  显示文件data.f中包含”48“的行数,不要-c ,显示包含48的行
 grep -n "48" data.f  显示满足匹配模式的所有行,并在第一列显示行号,-v 显示不包含匹配模式
 grep "48\>" data.f 精确匹配48所在行,  \>
 grep '48[34]' data.f 抽取以3或4结尾的代码
 grep '^48' data.f  匹配首行是48
 grep '^[^48]' data.f 匹配首行不是48
 grep '[A-Z][A-Z]..C' data.f  显示 头两个是大写字母,中间任意两个数,并以C结尾的行
 grep '5..199[6,8]' data.f  显示以5开头后跟任意两位,以1996或1998结尾的行
 grep '[0-9]\{3\}8' data.f 显示以任意3个数字和8组成的字符所在行
 grep '[0-9][0-5][0-6][5-8]' data.f   范围组合
 grep '^[0-9][0-5]' data.f   开头^
 grep '[0-9][0-5]$' data.f 结尾$
 grep '4\{2,\}' data.f   数字4至少重复2次,匹配特殊字符,转义字符\
 grep -E '48|47' data.f  -E扩展模式匹配
 grep '[0-9]\{3\}\.[0-9]\{3\}\.  ip
 grep -i .sh$  忽略大小写,找出以.sh结尾的所有文件
 grep "good" /etc/passwd > /tmp/passwd.out  将匹配的查询结果重定向到一个文件中
 
 /dev/null 2>$1 无底洞,系统垃圾堆,用于除去不需要的输出的信息
 
 grep '48/>' data.f > /dev/null 2>&1

2>&1 就是将 stderr 并进 stdout 作输出
1>&2 或 >&2 就是将 stdout 并进 stderr 作输出  

问: mkdir $DIR > /dev/null 2>&1,  >/dev/null 2>&1 就相当于让执行命令后的结果导入到系统垃圾堆。2>&1 代表着什么?在有些句子后添加”>&2” 又是什么意思?

答:0 标准输入、1 标准输出、2标准出错。&1代表标准输出定向到的地方,加上2>&1 则不会打印出错信息。 

>/dev/null 2>&1 表示将所得信息输出到系统垃圾池且不打印出错信息

&2 即 1>&2 把结果重定向到标准出错所在文件,如 ls>a1 >&2 等同 ls >a1 2>&1 即把标准输出和标准出错到重定向到a1 ,终端上看不到任何信息



标签:输出,grep,48,dev,命令,详解,匹配,data
From: https://blog.51cto.com/u_15812342/5738728

相关文章

  • vi命令
    vi有三种模式 直接输入vi进入vi编辑器的命令模式,该模式保存、删除和替换文件,以及退出vi编辑 不管在什么模式下,按ESC键可进入命令模式 在命令模式下,插入命令i,附加......
  • sort命令
    sort命令的一般格式为: sort-cmu-ooutput_file[otheroptions]+pos1+pos2input_files 下面简要介绍一下sort的参数: -c测试文件是否已经分类。 -m合并......
  • 归档tar、安装rpm命令
    tar打包 -c创建一个新的档案文件,新建 -t查看档案文件的内容,查看 -x分解档案文件的内容,解压 -f命名 -v显示过程信息 -z压缩  tarcvf   打包(但不......
  • 细节命令
    ${WHEN:="Saturday"} 给变量设置默认值#是注释,在遇到''、""和\就当一般字符使用。;命令分隔符,可以在一行写多个命令;;终止“case”选项执行脚本方法使用vi编辑 ......
  • 小学二年级都能看懂的 KMP算法详解
    介绍先上一道模板题:P3375【模板】KMP字符串匹配(难以想象这只是一道黄题)(而manacher竟然是蓝题)大意就是给你两个字符串,问其中一个在另一个里面出现过几次。至于border什......
  • 用户操作命令
    目录用户管理linux中用户的概述用户的作用查看系统中用户的命令系统用户相关的配置文件用户分类(约定,规范centos7)chage命令修改用户信息用户操作命令用户创建-useradd修改用......
  • Hashicorp Consul Service API远程命令执行漏洞
    Preface简介Consul是HashiCorp公司推出的一款开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案相比,Consul提供的方案更为“一站式”。Con......
  • Graphics类drawRect()方法参数详解
    代码:importjavax.swing.*;importjava.awt.*;publicclassMain{publicstaticvoidmain(String[]args){JFrameframe=newJFrame();mypa......
  • liunx之expect操作详解
    导航:一、expect安装、介绍、使用场景二、expect使用原理三、expect使用语法四、expect使用举例五、expect相关错误处理---------分割线----------一......
  • NFT(GameFi)链游系统开发详解方案
    什么是GameFi经济Specifically,thisincludesthefivetechnical)supportforcesofthemetauniverse,namely,thecommunicationfoundation"5g"ofthemetauniver......