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. vue 解决跨域

    先上报错 以表尊重 在vue中 找到 config文件夹中的 index.js文件  配置更改如下 proxyTable: { '/api': { target: 'http://47.240.11. ...

  2. 2019-9-20:渗透测试,基础学习,笔记,metasploit的基础使用

    使用kali下metasploit生成木马,控制windows系统 kali基于debin的数字取证系统,上面集成了很多渗透测试工具,前身为bt r3(BrackTrack) Metasploit,是 ...

  3. springboot+logback日志输出企业实践(下)

    目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...

  4. 常见HTTP请求头和响应头

    2. 常用的HTTP请求头 协议头 说明 示例 状态 Accept 可接受的响应内容类型(Content-Types). Accept: text/plain 固定 Accept-Charset 可接 ...

  5. 王院生:Apache APISIX 微服务网关极致性能架构解析

    2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...

  6. 三分钟带你入门 redis 高可用架构之哨兵

    什么是哨兵? 哨兵(Sentinel)是 redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,需要人工介入才能完成故障转移,哨兵可以解决这个问题,在主从复制情况下,当主节点发生故障时 ...

  7. 在Asp.Net Core MVC 开发过程中遇到的问题

    1. Q: Razor视图中怎么添加全局模型验证消息 #### A:使用ModelOnly <div asp-validation-summary="ModelOnly" c ...

  8. python matplotlib 画图表(点状图)

    首先,选择自己希望画的图:在官方网站就可以直接点击图,然后就会出现源代码: http://matplotlib.org/gallery.html

  9. 带着canvas去流浪系列之一:绘制柱状图

    [摘要] 学习使用canvasAPI来实现数据可视化. 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制柱 ...

  10. 使用Python为中秋节绘制一块美味的月饼

    每逢佳节- 对于在外的游子,每逢佳节倍思亲.而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了.这几天各公司都陆续开始发中秋礼品了.朋友圈各种秀高颜值的月饼,所以 ...