shell脚本基础和grep文本处理工具企业应用4
文本处理工具:
egrep:
支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E
egrep [OPTIONS] PATTERN [FILE...]
egrep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
选项:
-i,-o,-v,-q,-A,-B,-C
-G:支持基本正则表达式
扩展正则表达式的元字符:
字符匹配
.:任意单个字符
[]:指定范围内的任意单个字符
[^]:指定范围外的任意单个字符
次数匹配
*:任意次,0,1或多次
?: 0次或1次,即其前的字符是可有可无的
+:其前的字符至少1次
{m}:其前的字符m次
{m,n}:至少m次,至多n次
{0,n}:至多n次
{m,}:至少m次
位置锚定
^:行首锚定
$:行尾锚定
\<,\b:词首锚定
\>,\b:词尾锚定
分组及引用
():分组,括号内的模式匹配到的字符也会被记录于正则表达式引擎的内部变量中
后向引用:\1,\2,\3,...
或
a|b:a或者b
C|cat:C或者cat
(C|c)at:Cat或者cat
fgrep:不支持正则表达式元字符
当无需要用到元字符去编写模式时,使用fgrep必能更好,性能强
文本查看及处理工具:wc,cut,sort,uniq,diff,patch
wc:word count
wc [OPTION]... [FILE]...
-l:lines
-w:words
-c:bytes
cut:remove sections from each line of files
cut OPTION... [FILE]...
-d CHAR:以指定的字符为分隔符;后边可以直接跟选项参数,而不要空格
-f FIELDS:挑选出的字段
#:指定的单个字段
#-#:指定连续的多个字段
#,#:指定离散的多个字段
sort:sort lines of text files
sort [OPTION]... [FILE]...
-n:基于数值大小而非字符进行排序
-t CHAR:指定分隔符
-k #:用于排序比较的字段
-r:逆序排序
-f:忽略大小写
-u:重复的行只保留一份
重复行指连续且相同的数据
uniq:report or omit repeated lines 报告或移除重复的行
uniq [OPTION]... [INPUT [OUTPUT]]
-c:显示每行的重复次数
-u:仅显示未曾重复过的行
-d:仅显示重复过的行
diff:compare files line by line 逐行比较文件的不同
diff [OPTION]... FILES
生成打补丁的文件,为下边的patch命令打补丁用
diff /PATH/TO/OLDFILE /PATH/TO/NEWFILE > /PATH/TO/PATCH_FILE
-u:使用unfled机制,即显示要修改的行的上下文,默认为3行
patch:向文件打补丁
patch [-blNR][ -c| -e| -n][-d dir][-D define][-i patchfile] [-o outfile][-p num][-r rejectfile][file]
patch [OPTIONS] -i /PATH/TO/PATCH_FILE /PATH/TO/OLDFILE
patch /PATH/TO/OLDFILE < /PATH/TO/PATCH_FILE
shell脚本基础和grep文本处理工具企业应用4的更多相关文章
- shell脚本基础和grep文本处理工具企业应用2
shell脚本编程: 编程语言的分类: 根据运行方式 编译运行:源代码-->编译器(编译)-->程序文件 优 ...
- shell脚本基础和grep文本处理工具企业应用3
文本处理工具: linux上文本处理三剑客 grep,egrep,fgrep:文本过滤工具(模式:pattern)工具 grep:默认支持的是基本正则表达式: ...
- shell脚本基础和grep文本处理工具企业应用1
bash特性及bash脚本编程初步: 用户要跟计算机交互就需要有终端,比如:显示器.键鼠等,在终端有附着的接口程序 GUI:KDE.GNome.Xfce CLI:/etc/shells bash ...
- shell脚本学习指南-grep文本搜索命令-学习(3)
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...
- [linux] grep 文本搜索工具
grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...
- shell脚本-基础
shell脚本-基础 编程基础 程序是指令+ 数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell 程序提供了编程能力,解释执行. 计算运行二进 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Shell脚本基础学习
Shell脚本基础学习 当你在类Unix机器上编程时, 或者参与大型项目如k8s等, 某些框架和软件的安装都是使用shell脚本写的. 学会基本的shell脚本使用, 让你走上人生巅峰, 才怪. 学会 ...
- 什么是Shell?Shell脚本基础知识详细介绍
这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 ...
随机推荐
- EF中where中日期帅选问题
结合 SqlFunctions 和 DbFunctions 不能同时用两个DbFunctions queryAble = queryAble.Where(s=> SqlFunctions.D ...
- 树莓派(Linux)添加USB外接硬盘
1.显示系统的硬盘设备以及分区 sudo fdisk -l 显示设备名,例如/dev/sda1 2.树莓派默认不支持NTFS文件系统,如果需要支持则要安装相应的软件包 sudo apt-get ins ...
- 【CSS】如何在一个页面中引入样式css
CSS(Cascading Style Sheet)又叫层叠样式表.是我们学习前端必不可少的一门语言,学习它其实就是为了学会如何去更改页面标签的样式.目前使用最广的是css3,但同样的,他是从css2 ...
- vue2.0 子组件props接受父组件传递的值,能不能修改的问题整理
父组件代码: <!-- --> <template> <div class=''> <el-link type="danger">传 ...
- Python全栈开发之7、面向对象编程进阶-类属性和方法、异常处理和反射
一.类的属性 1.@property属性 作用就是通过@property把一个方法变成一个静态属性 class Room: def __init__(self,name,length,width,he ...
- 栈与队列基本操作 Java实现
一.顺序栈 //数组实现顺序栈 public class OrderStack { private String[] elem; private int top; OrderStack(int k) ...
- Spring的四种事务特性,五种隔离级别,七种传播行为
Spring事务: 什么是事务: 事务逻辑上的一组对数据对操作,组成这些操作的各个逻辑单元,要么一起成功,要么一起失败. 事务特性(4种): 原子性(atomicity):强调事务的不可分割:一致性( ...
- A/B HDU-1576(简单的数论题)
Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input 数据的第一 ...
- sysbench测试
什么是基准测试 数据库的基准测试是对数据库的性能指标进行定量的.可复现的.可对比的测试. 基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试.但基准测试不关心业务逻辑,更加简单.直接.易于测 ...
- nginx + uwsgi 部署django项目
因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...