`
斌强-朱
  • 浏览: 51489 次
社区版块
存档分类
最新评论

Linux grep sed awk

 
阅读更多

正则表达式

grep 命令

选项 意义
-c 匹配行的数量
-i 忽略大小写
-h 查询多文件时不显示文件名
-l 只列出匹配的文件名,不列匹配行
-n 列出匹配行,并列出行号
-s 不显示不存在或无匹配的错误信息
-v 显示不包含匹配文本的所有行
-w 匹配整词
-r 递归搜索,搜子目录
-E 支持扩展的正则表达式
-F 不支持正则表达式

grep -nE "^\w+@\w+\.\w+$" a.txt


sed命令选项选项意义
-n 不打印所有行到标准输出
-e 将下一个字符串解析为sed编辑命令,如果只传递一个 -e可以省略
-f 正在调用sed脚本文件

sed文本定位方式选项意义
x x为指定行号
x,y 指定从x到y的行号范围
/pattern/ 查询包含模式的行
/pattern/pattern/ 查询包含两个模式的行
/pattern/,x 从与pattern的匹配行之间的行
x,/pattern/ 从x号行到与pattern的匹配行之间的行
x,y! 不包含x和y行号的行

sed编辑命令选项意义
p 打印匹配行
= 打印文件行号
a\ 在定位行号之后追加文本信息
i\ 在定位行号之前追加文本信息
d 删除定位行
c\ 用新文本替换定位文本
s 使用替换模式替换应用模式
r 从另一个文件中读文本
w 将文本写入到一个文件
y 变换字符
q 第一个模式匹配完成后退出
l 显示与八进制ASCII代码等价的控制字符
{} 在定位行执行的命令组
n 读取下一个输入行,用下一个命令处理新的行
h 将模式缓冲区文本拷贝到保持缓冲区
H 将模式缓冲区文本追加到保持缓冲区
x 互换模式缓冲区和保持缓冲区内容
g 将保持缓冲区内容拷贝到模式缓冲区
G 将保持缓冲区内容追加到模式缓冲区

sed -n '/hello/=' a.txt 打印行号

sed -n '/hello/p' a.txt 打印内容

sed -n '$p' a.txt 打印最后一行

sed -n '/zbq/,$p' a.txt 从匹配的zbq行到最后一行


#!/bin/sed -f
/zbq:/i\  
we insert a new line.

在匹配行上面插入 we insert a new line


sed -n 's/hello/world/w b.txt' a.txt
把 匹配hello行替换world行 并输出到 b.txt中


sed '/hello/r b.txt' a.txt

把匹配的hello用文本b.txt替换

ifconfig | grep 'inet addr' | sed 's/^.*inet addr://g' | sed 's/Mask.*$//g' | sed 's/Bcast.*//g'
只显示ip

awt


变量 描述
$n 当前记录的第n个字段,字段间由FS分隔。
$0 完整的输入记录。
ARGC 命令行参数的数目。
ARGIND 命令行中当前文件的位置(从0开始算)。
ARGV 包含命令行参数的数组。
CONVFMT 数字转换格式(默认值为%.6g)
ENVIRON 环境变量关联数组。
ERRNO 最后一个系统错误的描述。
FIELDWIDTHS 字段宽度列表(用空格键分隔)。
FILENAME 当前文件名。
FNR 同NR,但相对于当前文件。
FS 字段分隔符(默认是任何空格)。
IGNORECASE 如果为真,则进行忽略大小写的匹配。
NF 当前记录中的字段数。
NR 当前记录数。
OFMT 数字的输出格式(默认值是%.6g)。
OFS 输出字段分隔符(默认值是一个空格)。
ORS 输出记录分隔符(默认值是一个换行符)。
RLENGTH 由match函数所匹配的字符串的长度。
RS 记录分隔符(默认是一个换行符)。
RSTART 由match函数所匹配的字符串的第一个位置。
SUBSEP 数组下标分隔符(默认值是\034)。


awk [-F 域分割符] 'awk程序段' 输入文件

awk -f awk脚本文件 输入文件

./awk脚本文件 输入文件


awk '{print $1,$2}' c.txt
打印第一和第二域 $0是全域

awk -F"\t" '{print $1}' c.txt 
打印以tab键分割的域

awk 'BEGIN {FS=","} {print $1}\' c.txt 
打印以,域

awk 'BEGIN {FS=":"} $1~/bin/' /etc/passwd
打印以【:】为域 第一域匹配bin字符

awk 'BEGIN {FS=":"} {if ($3~10||$4~7) print $0}' /etc/passwd

打印以【:】为域 第三域匹配字符串10 第四域匹配字符串7

awk '/^$/{print x+=1}' c.txt

打印空白行 行数

#!/usr/bin/awk -f
BEGIN {FS=","}
{
        total=$2+$3+$4
        avg=total/3
        print $1,avg
}
把第2,3,4域相加取平均值

awk 'BEGIN {FS=","} {print NF,NR,$0} END {print FILENAME}' c.txt 
以,为分割符 打印,行号,全部 最后打印文件名


分享到:
评论

相关推荐

    linux grep sed awk命令详解

    ### Linux grep sed awk命令详解 #### 一、grep命令详解 **grep** 是一个用于查找文件里符合条件的字符串的强大工具。它可以对文件进行快速搜索,找出含有特定模式的行。 - **基本语法**:`grep [选项] 模式 文件...

    sed awk grep

    sed awk grep sed awk grepsed awk grep sed awk grep sed awk grep sed awk grep sed awk grep sed awk grep sed awk grep

    grep、sed、awk、perl等对正则表达式的支持的差别

    在IT领域,文本处理是日常工作中不可或缺的一部分,而grep、sed、awk和perl这四个工具在处理文本时都广泛地使用了正则表达式。它们各自有着不同的特性和适用场景,理解它们之间的差异有助于我们更高效地进行文本操作...

    grep,sed, awk 总结

    Linux系统中,文本处理是一项常见且重要的任务,grep、sed和awk是三个常用的文本处理工具,因其功能强大,被誉为Linux文本处理的"三剑客"。下面将详细总结这三个工具的使用方法和相关知识点。 ### grep grep是用于...

    grep,sed,awk命令实例大练习

    在Linux或Unix环境中,`grep`、`sed`和`awk`是三个非常强大的文本处理工具。通过掌握这些工具的基本用法及高级功能,用户可以高效地处理各种文本文件。下面将详细介绍如何使用这些命令进行具体的文本操作。 #### 1....

    win下的grep/sed/awk

    然而,为了实现类似的功能,例如文本处理和搜索,有一些工具可以帮助我们在Windows环境下模拟Unix/Linux中的`grep`、`sed`和`awk`。这三个工具在文本处理领域极其重要,它们分别用于查找、替换和格式化文本数据。 `...

    linux系统,awk,grep,sed

    ### Linux系统中的查询三剑客:grep、awk、sed 使用详解 #### grep 命令详解 `grep` 是一个非常强大的文本搜索工具,它可以在文本中查找指定的字符串,并且能够逐行处理文本。这使得 `grep` 成为了文本处理和数据...

    sed_awk_grep.chm

    sed awk grep命令使用 sed awk grep命令使用 sed awk grep命令使用

    sed和awk的必备书籍

    包括: 1. sed与awk+第三版(中文高清晰),内容非常全面详细,看了觉得很不错,学习sed和awk的必备书籍。 2. Effective awk Programming, 4th Edition 3. Sed与awk第二版(高清版).pdf

    sed awk讲解资料全集

    此外,资料中可能还会涵盖高级话题,如脚本编写、自定义函数、awk的BEGIN和END规则,以及如何结合其他Unix/Linux命令行工具协同工作。 通过深入学习这个资料全集,你将能够掌握sed和awk的核心技能,无论是日常文本...

    Shell正则表达式之grep、sed、awk实操笔记

    ### Shell正则表达式之grep、sed、awk实操笔记 #### 一、概述 本文主要探讨了在Shell脚本编程中如何运用`grep`、`sed`与`awk`结合正则表达式来实现一些具体的需求。这些工具在文本处理方面极其强大,通过灵活运用...

    Sed与awk第二版(中文高清版)

    在Linux系统中,Sed和awk通常用于: 1. 日志文件分析:快速查找、修改日志文件中的信息。 2. 数据转换:对数据文件进行转换,便于导入到数据库或电子表格中。 3. 自动化脚本:在shell脚本中嵌入sed和awk命令,实现...

    文本三剑客:grep sed awk

    grep和正则表达式 什么是正则表达式: 正则表达式用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分隔、匹配、查找及替换操作 元字符 * 重复匹配前一个字符0到多次 . 匹配除了换行符外...

    Sed AWK编程指南

    其中,`sed` 和 `awk` 是两种非常强大的文本处理工具,广泛应用于Linux/Unix环境中。本指南将详细介绍这两个工具的基础用法及高级特性。 #### 二、Sed 命令语法与基本命令 ##### 1. Sed 命令语法 `sed`(Stream ...

    Linux/Unix Sed与awk 中文第三版

    本书介绍了一组名字奇特的UNIX实用工具:sed和awk。这组实用工具有很多共同的特征,譬如正则表达式在模式...一般情况下,从grep到sed和awk的学习过程是很自然的,所以本书涵盖了上述3个程序,而重点集中在sed和awk。

    windows上可直接使用的awk、sed、grep等文本处理命令和彩色显示echo命令(from.Cygwin).zip

    包含命令:awk、cat、cut、diff、echo、gawk、grep、head、sed、sort、tac、tail、tr、uniq、wc 可以在windows上cmd窗口显示彩色文字,用法:echo.exe -e "\033[32;1mGREEN\033[0m

    LINUX下grep、sed、gawk汇总

    在Linux操作系统中,grep、sed和gawk是三个强大的文本处理工具,它们在日常的系统管理和脚本编写中起着至关重要的作用。了解并熟练掌握这三个工具,能极大地提高工作效率和解决问题的能力。 **grep(Global Regular...

    linux匹配命令awk、grep、sed简介

    ### Linux中的文本处理工具:awk、grep、sed #### 一、awk命令详解 **1.1 awk简介** - **定义**: awk 是一种强大的文本处理工具,也是一种编程语言,主要用于处理数据和生成报告。 - **功能**: awk 通过逐行扫描...

Global site tag (gtag.js) - Google Analytics