Linux中grep、sed、awk使用介绍
linux文件操作命令介绍
1)grep
grep 用于在文件中查找符合条件的记录
grep 参数 过滤条件 文件
过滤的条件中可使用正则表达式
-c 显示符合的行数
-i 忽略大小写
-n 显示符合要求的记录,包含行号
-v 显示不符合要求的记录
-A n 显示符合要求的记录,及下面的n行
-B n 显示符合要求的记录,及上面的n行
-C n 显示符合要求的记录,及上面和下面各n行
-E 显示符合多个条件的记录
--color 高亮显示关键字
多个条件选择过滤,使用 -E参数
多个并且条件过滤,使用多个grep 、管道符|
例如:grep -n 'perl' yum.log-20160823
grep -E 'perl|sql' yum.log-20160823
2)sed
sed 用于查询符合条件的文件并输出到屏幕或将查询结果写到文件
sed 选项 命令 文件
选项:
-n 对经过处理的行才会显示在屏幕上
-i 直接修改原文件中的数据
命令:
新增 a a后面可接受的字符,新字符插入到目前行的下一行 i i后面可接受的字符,新字符插入到目前行的上一行
替换 c c后面的字符,替换n1,n2之间的字符,s 替换
删除 d 删除指定行的字符
显示 p 显示指定行的字符
a)显示第几行记录,用字母p
单引号中的n表示第几行
显示第n行记录 sed -n 'n'p 文件名
显示第m,n行记录 sed -n 'm,n'p 文件名
显示最后一行记录 sed -n '$'p 文件名
b)显示包含条件的记录
sed -n '/tomcat/'p /var/log/tomcat.log
c)显示包含多个条件的记录
sed -e '/tomcat/'p -e '/2017-03-08/'p -n /var/log/tomcat.log
d)删除第几行记录,用字母d
单引号中的n表示第几行
删除第n行记录 sed -n 'n'd 文件名
删除第m,n行记录 sed -n 'm,n'd 文件名
删除最后一行记录 sed -n '$'d 文件名
e)替换字符,字符s表示替换,g表示在文件中所有出现的地方进行替换
sed '1,9s/09/nine/g' /var/log/tomcat.log
f)将匹配到字符进行位置替换,替换的字符用()包裹起来,括号前需加\,屏蔽特殊字符
sed 's/\(test\)\(log\)/\2\1/g' /var/log/tomcat.log
g)修改文件,字符s表示替换,g表示在文件中所有出现的地方进行替换
sed -i '1,9s/09/nine/g' /var/log/tomcat.log
3)awk
awk 用于从文件中截取符合条件的记录
awk 参数 过滤条件 文件
a)显示获取到的符合条件的记录,文件中的列以:分割,显示第3列记录
head -n10 /var/log/tomcat.log| awk -F':' '{print $3}'
b)显示符合条件记录
awk '/log/' /var/log/tomcat.log
c)显示符合多个条件记录
awk -F':' '/log/ {print $1,$4} /2017/ {print $2,$7}' /var/log/tomcat.log
d)可以进行逻辑条件的判断,> >= < <= !=等,条件中加""表示字符,否则表示为数字
awk -F':' '$2>100' /var/log/tomcat.log
内置函数
gsub(r,s):在$0中用s代替r
index(s,t):返回s中t的第一个位置
length(s):s的长度
match(s,r):s是否匹配r
split(s,a,fs):在fs上将s分成序列a
substr(s,p):返回s从p开始的子串
BEGIN和END本质是一个pattern。
BEGIN用于awk程序开始开始前,做一些初始化的工作;
END用于awk程序结束前,做一些收尾的工作。
awk中使用shell中定义的变量:使用单引号即可
awk中使用shell命令:使用双引号,或者system命令
getline:awk里,从文件中读取变量到awk中
FILENAME
FS 分隔符,默认是空格
NR 当前行数,从1开始
NF 当前记录字段个数
$0 当前记录
$1~$n 当前记录第n个字段
NF:用分割符分割后,产生的列数
$NF:最后1列的值
Linux中grep、sed、awk使用介绍的更多相关文章
- Linux三剑客grep/sed/awk
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...
- linux三剑客grep|sed|awk实践
最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk
- Linux命令-grep,sed,awk
grep (global search regular expression[RE] and print out the line) 正则表达式全局搜索并将行打印出来 在文件中查找包含字符串" ...
- Linux学习grep,sed,awk工具的使用
1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...
- Linux三剑客grep、awk和sed
grep,sed 和 awk是Linux/Unix 系统中常用的三个文本处理的命令行工具,称为文本处理三剑客.本文将简要介绍这三个命令并给出基本用法. 管道 在介绍这两个命令之前,有必要介绍一下Uni ...
- Linux中使用sed命令或awk命令修改常规配置文件
一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...
- linux中grep命令的使用
转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...
- Linux中grep和egrep命令详解
rep / egrep 语法: grep [-cinvABC] 'word' filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...
- linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客
linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++ http://yaro ...
- 12个 Linux 中 grep 命令的超级用法实例
12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...
随机推荐
- 十五、事务(Transaction)
1.事务是什么? 2.示例 查询事务的隔离级别, 1>会话级(select @@tx_isolation或select @@session.tx_isolation) 2>全局级(sele ...
- 屏蔽iframe中超链接
<style type="text/css"> .mask { position: absolute; width: 290px; height: 96px; z-in ...
- 1.1- 1.2 hive入门
一.hive是什么 由Facebook开源用于解决海量结构化日志的数据统计: Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表, 并提供类SQL查询功能: 构建在Had ...
- Linux SecureCRT 完全破解
相关说明: 上篇发了个Linux(Ubuntu) 下 SecureCRT 7 30天循环破解在启动的时候会多输入一次确认窗口, 后来maz-1网友留言说可以用Windows破解后程序替换Linux下的 ...
- 16-CoreData之多表关联(存储自定义数据模型)
多表关联 1.1-简介 什么是多表关联 在处理数据库的关系中,无非只有三种关系 一对一:一个老师只能在一个教室上课,不可能同时在两个教室上课 一对多:一个教室可以有多个学生,但一个学生只能在一个教室 ...
- Codevs 1099 字串变换
1099 字串变换 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 已知有 ...
- pytest入门学习(1)
系统ubuntu 12.04 , 可上网 一.安装: 1.安装 setuptools 下载页面:https://bitbucket.org/pypa/setuptools/get/default.ta ...
- boot接入elasticsearch
boot接入elasticsearch 参考博客:https://blog.csdn.net/li521wang/article/details/83792552 项目源码demo:https://g ...
- 浏览器启动android应用
window.location.href = "xl://com.caho.app:8888/app?name=chao"; <activity> <intent ...
- __enter__,__exit__上下文管理协议
上下文管理协议__enter__,__exit__ 用途或者说好处: 1.使用with语句的目的就是把代码块放入with中执行,with结束后,自动完成清理工作,无须手动干预 2.在需要管理一些资源比 ...