grep


(global search regular expression[RE] and print out the line)

正则表达式全局搜索并将行打印出来

  • 在文件中查找包含字符串"text"的行
grep text local_file
grep "text" local_file #另一种方式
grep "text" local_file1 local_file2 ... #查找多个文件
  • 在文件中查找包含字符串"text"的行
grep -v "text" local_file
  • 忽略大小写
grep -i "TeXt" local_file
grep -y "TeXt" local_file
  • 不显示错误信息,常用于脚本文件中
grep -s "text" local_file
  • 只打印出匹配到的字符串
grep -o "text" local_file
  • 统计文件中有多少行包含需要查找的字符串
grep -c "text" local_file
  • 不输出信息,命令运行成功返回0.失败返回非0值,用于判断
grep -q "text" local_file
  • 匹配多个字符串,相当于逻辑中的或
grep -e "text1" -e "text2" local_file
  • 递归查找,用于多级目录中的文件
grep -r "text" . #在当前目录下进行查找
  • 输出匹配需要查找字符串的行以及之前的行
grep "text" -B 3 local_file #输出之前的3行
  • 输出匹配需要查找字符串的行以及之后的行
grep "text" -A 3 local_file #输出之后的3行

sed


流编辑器,用来编辑一个或者多个文件,简化对文件的重复操作。在缓冲区内操作,除非特别指定,不对文件本身内容进行修改。

-i

对文件本身进行修改

-q

  • 打印出第2行后退出sed
sed '2q' local_file

查找

  • 查找第2-5行数据
sed '2,5p' local_file
sed -n '2,5p' local_file #并打印行号
  • 查找包含字符串"text"的行与包含字符串"file"的行范围内的行
sed '/text/,/file/p' local_file
  • 查找从第2行开始一直到以字符串"text“开头的行之间的所有行
sed '2,/^text/p' local_file

添加

  • 在第2行后面一行添加字符串"text"
sed '2a text' local_file
  • 在第二行前面一行添加字符串"text"
sed '2i text' local_file
  • 在每一个单词前面加上字符"a":
sed 's/\w\+/a&/g'  # \w\+匹配每一个单词 &对应之前匹配的每一个单词

替换

  • 替换字符串filefiles
sed 's/file/files/g' local_file #打印到控制台,不修改文件
sed 's:file:file:g' local_file # /标记可以使用其他符号代替
sed -i 's/file/files/g' local_file #修改文件本身内容,不打印到控制台
  • 替换第2-5行为字符串"text"
sed '2,5c text' local_file

删除

  • 删除文件内的第2-5行
sed '/2,5/d' local_file
  • 删除开头字符串为"text"的行
sed '/^text.*//g' local_file
sed '/^text/'d local_file
  • 删除最后一行
sed '$d' local_file
  • 删除空白行
sed '/^$/d' local_file

awk


  • 打印每一行的第2,3列数据
awk '{print $2,$3}' local_file

Linux命令-grep,sed,awk的更多相关文章

  1. Linux三剑客grep/sed/awk

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

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

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

  3. linux 三剑客命令(grep,sed ,awk)

    grep 命令 :强大的文本’搜索’工具    1.grep   -n   'word'  file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号.     2 ...

  4. Linux学习grep,sed,awk工具的使用

    1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...

  5. Linux三剑客grep、awk和sed

    grep,sed 和 awk是Linux/Unix 系统中常用的三个文本处理的命令行工具,称为文本处理三剑客.本文将简要介绍这三个命令并给出基本用法. 管道 在介绍这两个命令之前,有必要介绍一下Uni ...

  6. 【linux】linux命令grep + awk 详解

    linux命令grep  +  awk 详解 grep:https://www.cnblogs.com/flyor/p/6411140.html awk:https://www.cnblogs.com ...

  7. linux 命令grep

    linux 命令grep grep命令用来搜索文本,或从给定的文件中搜索行内包含了给定字符串或单词的文件.通常来说,grep显示匹配的行.使用grep来搜索包括一个或多个正则表达式匹配到的文本行,然后 ...

  8. grep sed awk 3个Linux中对文件内容操作的命令

    在学习Linux命令中,发现3个有关于文件内容操作的命令grep,sed和awk,在这里简单汇总这3个命令主要作用,在实际中找到最合适的情景应用,详细用法可以参考其他文章. 1.grep命令 主要作用 ...

  9. 【Linux】 字符串和文本处理工具 grep & sed & awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

随机推荐

  1. [Odoo12基础教程]之第一篇-创建Todo应用

    声明: 本教程基于 Ruter 老师的 [Odoo基础教程系列] ,Ruter老师教程的链接地址为:Odoo基础教程系列   . 至于为什么已经有了Ruter老师的教程,还要自己再搬移一份呢?是基于一 ...

  2. Mysql操作之查询语句

    查询语句: select 查询列表 from 表名 where 筛选条件; 去重:select distinct 查询列表...... 选择全部:* 起别名:select 查询列表 as 别名 fro ...

  3. 解密面试中的套路,你都get到了么?

    如果大家有关注一些测试类的公众号或者论坛的话,肯定会发现很多文章都在表示现在行业的寒冬冷潮来了!然后有很多测试行业从业者,或者转行测试行业者都表示:工作好难找,公司跑了千千万,依然拿不到一个offer ...

  4. 【C/C++】之C语言库函数

    这个帖子记录一下 C语言 中经常用到的函数库中的函数及其用法. 1.<math.h> math.h是进行数学操作的函数库.使用这个函数库,需要先导入包: #include <math ...

  5. mysql 安装报错集合

    mysql-5.6.39 源码编译安装报错 报错信息: /tmp/ccV858jD.s: Assembler messages: /tmp/ccV858jD.s: Fatal error: can't ...

  6. 阿里架构师的这一份Spring boot使用心得:网友看到都收藏了

    阿里架构师的这一份Spring boot使用心得: 这一份PDF将从Spring Boot的出现开始讲起,到基本的环境搭建,进而对Spring的IOC及AOP进行详细讲解.以此作为理论基础,接着进行数 ...

  7. php弹出确认框

    下面的代码只需要放在同一个文件中就可以运行了~~ html<a href="__URL__/shanchu/id/{$vo.id}" onclick='return del( ...

  8. HTML 5 中的textarea标签

    HTML 5 中的textarea标签 定义和用法 定义一个文本区域 (text-area) (一个多行的文本输入区域).用户可在此文本区域中写文本.在一个文本区中,您可输入无限数量的文本.文本区中的 ...

  9. linux中安装tensorflow

    liunxsudo apt-get install python-pip python-dev python2.X -> pippython3.X -> pip3 pip --versio ...

  10. 不用任何第三方,写一个RTMP直播推流器

    2016年是移动直播爆发年,不到半年的时间内无数移动直播App掀起了全民直播的热潮.然而个人觉得直播的门槛相对较高,从推流端到服务端器到播放端,无不需要专业的技术来支撑,仅仅推流端就有不少需要学习的知 ...