grep、sed、awk是Linux/Unix系统中非常强大的文本处理工具,它们各有侧重,但都基于正则表达式来操作文本。下面是它们的基本用法概述:
1. grep(Global Regular Expression Print)
用途:grep 主要用于搜索文件中符合特定模式(正则表达式)的行,并打印出来。
基本语法:
grep [选项] '模式' 文件名
常用选项:
-
-i:忽略大小写。 -
-v:反向匹配,打印不包含模式的行。 -
-n:打印匹配行的行号。 -
-r 或 -R:递归搜索目录下的文件。
示例:
-
打印包含 “example” 字符串的行(不区分大小写):
grep -i 'example' myfile.txt
2. sed(Stream Editor)
用途:sed 是一个流编辑器,主要用于自动编辑一个或多个文件、标准输入数据,可以进行查找、替换、删除、添加等操作。
基本语法:
sed [选项] '命令' 文件名
常用命令:
-
s/原字符串/新字符串/:替换操作,g 选项表示全局替换。 -
d:删除匹配到的行。 -
p:打印匹配到的行。
示例:
-
将文件中所有 “old” 替换成 “new”:
sed 's/old/new/g' myfile.txt
3. awk
用途:awk 是一种编程语言,设计用于文本处理和数据提取,可以进行复杂的文本分析和报告生成。
基本语法:
awk [选项] '模式 { 动作 }' 文件名
常用操作:
-
NR:行号。 -
print:打印指定内容。 -
FS:输入字段分隔符,默认为空格。 -
$1
,$2
, …:分别代表每行的第一个、第二个…字段。
示例:
-
打印文件的第二列:
awk '{print $2}' myfile.txt
-
根据条件打印行:
awk '$3 > 100' myfile.txt # 打印第三列大于100的行
原文始发于微信公众号(云网数端):Linux系统文本处理三大神器 grep & sed & awk
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/291379.html