linux 文本处理三剑客(grep、sed、awk)修改

本文介绍了Linux中常用的文本处理工具grep、sed和awk。grep用于全文搜索,不改变文本内容;sed是文本修改工具,可对文本逐行处理;awk将文件按行读取并进行分析处理,支持正则表达式。文章详细讲解了它们的基本用法、参数和正则表达式的相关概念,并提供了多个实例进行练习。
摘要由CSDN通过智能技术生成

grep 文本过滤工具 不改变文本原内容
sed 文本修改工具
awk 把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

正则表达式

正则表达式:{Regualr (有规律的)Expression(表现)正则表达式}, 简写:REGEXP–>RE
正则表达式就是能用某种模式去匹配一类字符串的公式,它是由一串字符
和元字符构成的字符串。
所谓元字符,就是用以阐述字符表达式的内容、转换和描述各种操作信息
的字符。
正则表达式针对的是文本内容,而通配符针对的是文件名称。
分两类:
基本正则表达式:BRE
扩展正则表达式:ERE

正则表达式引擎(httpd,nginx都有使用pcre支持正则表达式)

正则表达式就是能用某种模式去匹配一类字符串的公式,它是由一串字符
和元字符构成的字符串。所谓元字符,就是用以阐述字符表达式的内容、
转换和描述各种操作信息的字符。
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字
符串的处理行为, 正则表示式通过一些特殊符号的辅助,可以让使用者轻
易的达到搜寻/删除/取代某特定字符串的处理程序。
vim、grep、find、awk、sed等命令都支持正则表达式。

拓展的正则表达: egrep 或者 grep -E ,使用egrep的时候,就无需再加
转义符了。
fgrep : 不支持正则表达式

grep

grep: Global(全局) search REgular expression and Print out the
line.
grep 作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查;打印匹配到的行;
模式:由正则表达式的元字符及文本字符所编写出的过滤条件;
例如: grep ‘x*y’ 文件
y
xy
xxx…y

grep 总结:

1)字符匹配
. :匹配单个字符
[ ]:匹配范围内的任意单个字符

  2)匹配次数
    \?:匹配前面的字符0次或一次,意味着可有可无;
    *:匹配前面的字符0次或任意次
    .*:匹配任意长度的任意字符
    \+:匹配前面的字符1次或任意次,意味着至少一次
    \{n\}:匹配其前面的字符n次;
    \{n,m\}:匹配其前面的字符至少n次,至多m次;
    \{0,n\}:匹配前面的字符至多n次
    \{m,\}:至少m次

位置限定

^:行首锚定;用于模式的最左侧;
: 行 尾 锚 定 ; 用 于 模 式 的 最 右 侧 ; P A T T E R N :行尾锚定;用于模式的最右侧; ^PATTERN

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux三剑客指的是 awksedgrepawk 是一种用来处理文本文件的工具,它可以根据指定的模式进行自动分割并进行数据处理。 sed 是一种流编辑器,它可以对文本文件进行替换、删除和插入操作。 grep 是一种文本搜索工具,它可以在文本文件中搜索指定的字符串。 ### 回答2: Linux三剑客,分别是awksedgrep,它们是Linux系统中非常重要的命令行工具,它们通常被称为文本处理工具。这些工具通常被用于筛选、搜索和处理文本文件。 grep是一种常见的文本搜索工具,可以在文件和文件夹中搜索指定的字符串或正则表达式。grep可以搜索多个文件并返回匹配行的输出。它是处理日志文件或查找匹配模式的最佳工具之一。 sed是一种流编辑器,可以按照行处理文本文件。它可以通过替换、删除和插入操作来修改文件内容。在大型文件中查找并替换模式是sed的主要作用。该工具通常在文本文件中提取有用信息是常用。 awk是一种强大的文本操作工具,可以分析大型文本文件并对其进行处理。该工具可以遍历行和列,并提供强大的文本处理工具,如计算、过滤和转换数据。awk的处理速度非常快,适用于处理大型数据文件。 Linux三剑客awk是最强大的工具,它可以执行复杂的文本数据操作和转换,可大大简化开发和管理过程。sed主要用于简单的文本数据过滤和替换,而grep主要用于搜索文件和定位特定行。 总之,Linux三剑客在文本数据处理方面具有不可替代的重要作用。对于Linux操作系统的开发人员和管理员来说,熟练使用这些工具可以提高他们的工作效率,使他们更容易管理和操作文本文件。 ### 回答3: Linux三剑客awk sed grep是我们在日常工作中经常使用的三个命令。它们都属于文本处理工具,可以用于查找、处理、分析文本文件等。 首先,grep是最常用的文本搜索工具。grep可以用来快速查找文件中指定的字符串或正则表达式,并将包含该字符串或正则表达式的行打印出来。常用的命令有grep、egrep和fgrep。比如,我们可以使用grep命令来查找一个文件中包含指定关键字的行,可以使用egrep来支持正则表达式搜索,使用fgrep来进行快速搜索,不支持正则表达式。 其次,sed是一种流编辑器,主要用于对文本文件进行替换、删除、添加、插入等操作。sed命令可以通过管道(|)将多个命令组合起来,从而进行复杂的文本操作。sed可以快速完成对文本文件的修改操作,比如替换文件中的某些内容、删除特定的行、在文件中插入新的文本等。sed的命令形式是“command", 比如"s/old/new/g",表示将old替换成new。 最后,awk是一种强大的文本处理工具,主要用于在文本文件中查找、处理以及格式化特定的字段。和grepsed不同的是,awk更加灵活,可以在处理过程中做到数据过滤和加工,对于大数据的处理特别有用。awk命令的常用语法是"pattern {action}"。其中,pattern代表要匹配的模式,而action代表模式匹配时需要执行的动作,我们可以在其中添加处理语句来对文件进行各种处理操作,比如计算、统计、格式化等。 综上所述,Linux三剑客awk sed grep是我们在文本处理工作中不可或缺的三个工具,不同的工具可以用于处理不同的文本操作,也可以用于搭配使用,以完成更加复杂的文本处理工作。对于需要经常处理文本的人员来说,掌握这些工具是非常必要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值