linux100day(day4)--文本处理三剑客
在介绍三剑客之前,先来认识一下通配符和正则表达式
通配符

正则表达式
作用:通过一些特殊字符,来表示一类字符内容
1、字符匹配
. 任意一个字符
[ ] 范围内的任意一个字符
[^ ] 取反
字符类 [:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]
2、次数匹配
* 匹配前面的字符0次到多次
? 匹配前面的字符0次到1次
+ 匹配前面的字符1次到多次
3、位置锚定
^ 锚定行首
$ 锚定行尾
\b 锚定词首和锚定词尾
\> 锚定词尾
\< 锚定词首
<\root\> 匹配root单词
\{m\} 匹配前面的字符m次
\{m,n\} 匹配前面的字符m到n次
4、分组
\(\)
分组特性:默认清空下,linux系统下回为分组指定变量,变量表示形式\1 \2 \3
day4--文本处理三剑客awk,sed,grep
三剑客用法非常灵活强大,需要在练习中慢慢体会,遂以练习为主。
awk(报告生成器)
awk作为三剑客的老大,擅长于取列,主要用来做文本输出格式化
awk在处理文件时是逐行处理的
在awk中,全部行称为$0,第一个字段称为$1,第二个字段称为$2……
NR为行号,NF表示最后一行
BEGIN表示最开始执行,END表示最末尾执行,因为这种特性,BEGIN常常用来赋值
awk [选项] [处理命令(脚本)] [文件]
awk -F 指定输入文件折分隔符
awk -v 赋值一个用户定义变量
awk -f 从脚本文件中读取awk命令
例1、输出/etc/passwd第一行的第一个域

例2、打印出/etc/passwd的第3个域和第5个域

例3、匹配/var/log/message中,带有erro关键字的相关信息

例4、输出/etc/passwd中文件名,行数,列数,和整行信息
awk -F ':' '{print FILENAME, NR , NF ,$0}' /etc/passwd
例5、使用冒号分隔符,查询最后一列

例6、使用awk输出第一块网卡的ip地址

sed(流处理器)
sed作为三剑客的老二,擅长取行,替换和数据搜寻
sed [选项] [脚本] [文件]
sed -e 以选项中指定的脚本来处理输入结果
sed -f 以选项中指定的脚本文件来处理输入结果
sed -n 只显示处理后结果
sed -i 替换
例1、查看/etc/passwd5-10行

这个p代表print打印,同理,d代表delete删除
例2、搜寻/etc/passwd中有root关键字的行

例3、新建一个文件,并删除2到4行

grep(文本行过滤工具)
grep [option]... PATTERN [FILE]
PATTERN一般使用两种方法,正则表达式和通配符
egrep = grep -E 使用扩展的正则表达式进行匹配
fgrep = fast grep 只使用文件通配符进行匹配
grep 默认使用正则表达式进行文本匹配
grep -P使用perl语言的正则表达式引擎进行搜索
grep -f指定文件
grep -i 忽略大小写
grep -v反选
grep --color=auto 语法着色
grep -c统计
grep -o输出时仅显示匹配内容(默认输出的是匹配到的行)
grep -n显示行号
grep -w只匹配与整个单词匹配的行
例1、显示/proc/meminfo文件中大小s开头的行

例2、显示/etc/passwd文件中不以/bin/bash结尾的行

例3、显示/etc/passwd文件中UID最大的用户的用户名

例4、如果用户root存在,显示其默认的shell程序

例5、找出/etc/passwd中的两位或三位数

linux100day(day4)--文本处理三剑客的更多相关文章
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- 文本处理三剑客之 Sed ——一般编辑命令
sed简介 sed (stream editor for filtering and transforming text) 是Linux上的文本处理三剑客之一,另外两个是grep和awk. sed又称 ...
- 文本处理三剑客之 grep
grep简介 grep(Global search REgular expression and Print out the line)是Linux上的文本处理三剑客之一,另外两个是sed和awk. ...
- shell脚本之正则表达和文本处理(文本处理三剑客:1、grep 2、sed 3、awk)
文本处理三剑客:1.grep 2.sed 3.awk 一.grep:(过滤) grep的使用,主要的参数有: -n :显示行号:-o :只显示匹配的内容-q :静默模式,没有任何输出,得用e ...
- Linux文本处理三剑客之sed
推荐新手阅读[酷壳]或[骏马金龙]开篇的教程作为入门.骏马兄后面的文章以及官方英文文档较难. [酷壳]:https://coolshell.cn/articles/9104.html [骏马金龙-博客 ...
- Linux文本处理三剑客之grep及正则表达式详解
Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...
- 关于Linux文本处理“三剑客”的一些小操作。
Linux文本处理“三剑客”,即grep.sed.awk,这是Linux中最核心 的3个命令. 一.首先做个简单的介绍: 1.awk:linux三剑客老大,过滤,输出内容,一门语言.NR代表行号. 2 ...
- Linux文本处理三剑客之——grep
一Linux文本处理三剑客之——grep Linux文本处理三剑客都支持正则表达式 grep :文本过滤( 模式:pattern) 工具,包括grep, egrep, fgrep (不支持正则表达式) ...
- Linux 文本处理三剑客之grep
文本处理都要使用正则表达式,正则表达式有: 基本正则表达式:grep或者egrep -G 扩展正则表达式:egreo或者grep -E Linux 文本处理三剑客: sed:stream editor ...
- 文本处理三剑客与shell正则表达式
文本处理三剑客 提到对于文本的处理上,除了vim这个强大的编辑器之外,还有使用命令的形式去处理你要处理的文本,而不需要手动打开文本再去编辑.这样做的好处是能够以shell命令的形式将编辑和处理文本的工 ...
随机推荐
- 数字IC前后端设计中的时序收敛(四)--Max Capacitance违反的修复方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- c++学习书籍推荐《超越C++标准库:Boost库导论》下载
<超越C++标准库Boost库导论>不仅介绍了Boost库的功能.使用方法及注意事项,而且还深入讨论了Boost库的设计理念.解决问题的思想和技巧以及待处理的问题.因此,本书是一本了解Bo ...
- Java学习笔记之---面向对象
Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...
- 《ElasticSearch6.x实战教程》正式推出(附图书抽奖)
经过接近1个月的时间,ElasticSearch6.x实战教程终于成册.这本实战教程小册有很多不足(甚至可能有错误),也是第一次完整推出一个系列的教程. 1年前,我开始真正接触ES,在此之前仅停留在知 ...
- C程序中文标点惹的祸,你可长点儿心吧
想必你在编程时,即使写了一个很小很简短的程序,本以为编译一定不会有问题,自信满满,结果编译完了,编译器 给了几个大大的error,比如:error C2018: unknown character'0 ...
- .NET CORE 微信小程序消息验证的坑
进入微信小程序,点击开发->选择消息推送->扫码授权,填写必要参数 进入接口开发: /// <summary> /// 验证小程序 /// </summary> / ...
- 钉钉E应用(小程序)之日历
唠叨几句:其实钉钉E应用的编写类似支付宝小程序(毕竟是阿里爸爸下的产业),而支付宝小程序又是chao xi 微信小程序(只不过人家是wxml / wxss ,他是 axml / acss罢了),这三者 ...
- 2019牛客多校第一场 E-ABBA(dp)
ABBA 题目传送门 解题思路 用dp[i][j]来表示前i+j个字符中,有i个A和j个B的合法情况个数.我们可以让前n个A作为AB的A,因为如果我们用后面的A作为AB的A,我们一定也可以让前面的A对 ...
- angularjs compine和link的区别
[译]ng指令中的compile与link函数解析 04 September 2014 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre ...
- IT技术人员的自我修养
1. 前言 在IT领域摸爬滚打多年,从一个普通程序员到技术主管,到技术经理,再到技术总监,踩过不少坑.加过不少班,也背过不少锅,在提升自身技术能力与管理能力的同时,也一直在思考,作为IT ...