grep 命令 :强大的文本’搜索’工具
   1.grep   -n   'word'  file_name
在file_name文件中找到word所在的所有行并显示。-n 为显示行号。
    2.grep   'w[ea]ll'   file_name
在file_name文件中找到wall 或者是well 所在的所有行并显示
    3.grep    'w[^e]ll'   file_name
在file_name文件中找到”非well” 所在的所有行并显示
    4.grep   '^The'   file_name
在file_name文件中找到以The开头的所有行并显示(请与上一条命令进行区别)
    5. grep       'goo..le'      file_name
在file_name文件中找到goo(任意字符)(任意字符)le的所有行并显示(即总共七个字符)
   6.grep    'g*g'     file_name
在file_name文件中找到g , gg , ggg等的所有行并显示(*代表重复前一个字符0~~无穷多次)
  7.grep   'Ty\{2,3\}'    file_name
在file_name文件中找到Tyy,Tyyy的所有行并显示(注意{}在 shell中有特殊含义,故需要转义)
  8.grep -E 'aaaa|bbbb'  file_name
多条件查找
注意 : grep可以使用grep –color=always 来使得所查找的字符拥有特殊颜色,然后在执行source ~/.bashrc 来使得设置立即生效。
sed :实现数据的替换,删除,增加,选取等(以行为单位进行处理)
  1.sed    '2,4d'    file_name
删除file_name文件的2到4行
2.sed  '2a liu .....\
>shengxi is shuai !!!'  file_name
在第二行下新增这样两行
3.sed   '2,4c    ni han ma   a !!!'    file_name
把file_name文件的2到4行,替换为ni han ma a !!
4.sed   '2,5p' -n  file_name
把file_name文件的2到5行打印出来(不用-n 参数,就会重复输出2到5行)
5.sed  -i  's/a\[t\]\./p_temp->/g'     file_name
把file_name文件中的a[t]. 全部替换为p_temp-> (-i 会直接将修改写入文件,[ ] 和 . 是特殊符号,需要用\来转义一下)
awk : 以字段为单位进行处理(其实就是把一行的数据分割,然后进行处理)
先介绍一些关于awk的用法:
1.$0   代表一整行的数据
2.$1   代表第一个字段,用人的话来说就是第一列的数据
3.$2   以此类推
4.NF   每一行拥有的字段总数
5.NR   目前处理的是第几行的数据
6.FS   目前的分隔字符
7.命令格式 :awk   '条件{命令1} 条件{命令2}...'   file_name
具体命令:
    1. awk      'NR<6{print   $1  "\t"  $2 }'     file_name  
把file_name 文件中的前五行的第一列,第二列的数据列出来 (以[tab]或空格键分隔)
    2.awk   '{print "该行数据为" $0 "\t" "该行的字段总数为"  NF   "\t"  "目前这是第几行"  NR}'   file_name
    3.  awk      'BEGIN{FS=":"}  $3<10{print $1 "\t" $3}'     /etc/passwd
把/etc/passwd文件的第一列与第三列列出来(BEGIN可以让我们自己设置的分隔字符立即生效)
/etc/passwd 文件中第一列是帐户,第三列是UID(就是用户ID)。该文件以 : 号分隔,一行代表一个用户,记录关于用户的各种信息。
特殊说明:
    1.print 默认带有换行符,printf 没有
    2.像\n ,\t,这种符号应该用双引号括起来
    3.NR,NF等变量要用大写,并且不需要 $
三剑客命令总结:
-记住三个命令的运用形式
     grep    '字符'       文件
     sed     '命令'       文件
     awk    '条件{命令}'   文件
-死记一点,单引号内就是正则表达式的用法
重复一遍:单引号内一定是正则表达式,一定,一定!!

linux 三剑客命令(grep,sed ,awk)的更多相关文章

  1. [svc]linux正则实战(grep/sed/awk)

    企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...

  2. Linux 正则表达式 vi, grep, sed, awk

          1. vi 表示内容的元字符 模式 含义 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符.可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字. [^abc] 在方 ...

  3. Linux三剑客:grep、awk、sed

    ---------------------------------------------------------------------------------------------------- ...

  4. Linux文本过滤命令grep、awk、sed

    grep的使用: 一.grep一般格式: grep [选项] 基本正则表达式 [文件] 这里的正则表达式可以为字符串.在grep命令中输入字符串参数时,最好将其用双引号括起来.调用变量时也可以使用双引 ...

  5. Linux命令-grep,sed,awk

    grep (global search regular expression[RE] and print out the line) 正则表达式全局搜索并将行打印出来 在文件中查找包含字符串" ...

  6. linux 三大利器 grep sed awk sed

    sed主要内容和原理介绍 sed 流处理编辑器 sed一次处理一行内容,读入一行处理一行 sed不改变文件内容(除非重定向) sed 命令行格式 $ sed [options] 'command' f ...

  7. linux 三大利器 grep sed awk 正则表达式

    正则表达式目标 正则表达式单字符: 特定字符 范围字符:单个字符[ ] :代表查找单个字符,括号内为字符范围 数字字符:[0-9],[259] 查找 0~9 和 2.5 .9 中的任意一个字符 小写字 ...

  8. Linux三剑客grep/sed/awk

    grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...

  9. linux三剑客grep|sed|awk实践

    最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk

随机推荐

  1. Django高级实战 开发企业级问答网站✍✍✍

    Django高级实战 开发企业级问答网站 1. 创建项目与app 创建项目 django-admin startproject firstsite 创建app python manage.py sta ...

  2. 华为-eNSP模拟器路由器无法正常启动一直显示“#”

    问题项如截图: 解决方案: 1. 打开自己电脑的控制面板 -->> 系统和安全 -->> Windows Defender防火墙 (运行应用通过Windows防火墙) 2 .找 ...

  3. 18-1-函数中this的指向

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 杂项-关于strlen()的使用

    发现了一个很坑的东西. 看下面两份代码: //code1 char s[N]; ;i<strlen(s);i++)Do(); //code2 char s[N]; ;s[i];i++)Do(); ...

  5. postgresql数据库安装后的pgadmin4中无法加载本地连接解决办法

    postgresql 在安装最后一步提示the database cluster initialisation failed, 而后点开pgadmin4发现如下图所示 经过百度搜索找出问题原因, 由于 ...

  6. 即将开源 | 2亿用户背后的Flutter应用框架Fish Redux

    背景 在闲鱼深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞.对于闲鱼这样的负责业务场景,我们需要一个统一的应用框架来摆脱当下的开发困境,而这也是 Flut ...

  7. csps-s模拟测试60嘟嘟噜,天才绅士少女助手克里斯蒂娜,凤凰院凶真题解

    题面:https://www.cnblogs.com/Juve/articles/11625190.html 嘟嘟噜: 约瑟夫问题 第一种递归的容易re,但复杂度较有保证 第二种适用与n大于m的情况 ...

  8. duilib教程之duilib入门简明教程5.自绘标题栏

    如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理.如果用duilib,就是小case啦.    duilib其实并没有区分标题栏和 ...

  9. sql.xml大于小于号处理的方法

    <if test="startTime != null and startTime != ''"> AND i_DataTime <![CDATA[ >= ...

  10. maven错误:is duplicated in the reactor

    code-instrument-java git:(masterv2-2.2.2-solr) ✗ mvn clean package -Dmaven.test.skip=true [INFO] Sca ...