4.1 shell文本过滤、find、awk、grep
文本过滤涉及到以下知识:
正则表达式、find、grep、awk、sed、合并与分割(sort、uniq、join、cut、paste、split)。
正则表达式:

基本元字符集及其含义:

匹配IP地址:

find:

示例如下:






find命令练习实例:

find和xargs一起使用:


find和grep联合使用时,find会把所有找到的条目一次性传递给grep,有多少条就开多少个进程。

grep用法:

示例如下:

grep是检索行用的。awk是检索列,sed进行字符替换。 三者经常联合使用。
grep的正则表达式模式:

grep原理总结:

awk命令:


awk有三种调用模式:

示例程序如下:

awk打印了passwd文件的第一列,-F参数表示文件中的分隔符,在本例中是冒号:,花括号里面表示打印第一列。
打印第一列和第三列,并且中间空一个制表符,如下所示:

打印第三列大于500的,如下:


grep与awk联合使用示例:


$0代表打印一整行。
带排序的grep与awk联合使用:

其中-n代表按数字方式, -k7代表按照第7列排序。

tail代表从最后一行开始取。sort加上-r表示逆序,如下:


sed提取数据,如下:

其中sed表示提取第5-10行的数据,p表示打印出来。


sed命令:



只带一个'p'表示打印所有行,包括空行。

sed后的2表示从第二行开始打印,一直打印到含有bb的行,p表示打印。
打印空行,=表示第几行,如下:





sed中的-i表示覆盖掉原来的文件,就是会对源文件进行修改。

sed的主要两个用途:
1、按照一个范围(第几行到第几行)提取数据
2、sed的主要用法是编辑功能,对提取的数据进行修改、替换、删除、插入等
ipcs进程间通信工具,这是一个命令,可以使用man ipcs查看其具体使用方法。
ipcrm可以删除共享内存,如下所示:

ipcclean脚本:


4.1 shell文本过滤、find、awk、grep的更多相关文章
- shell之文本过滤(awk)
shell之文本过滤(awk) 分类: linux shell脚本学习2012-09-19 15:53 1241人阅读 评论(0) 收藏 举报 shell正则表达式脚本任务语言 如果要格式化报文或从一 ...
- shell脚本三剑客:grep、sed、awk
shell脚本三剑客:grep sed awk grep语法: grep [OPTIONS] PATTERN [FILE] 常用选项 -c 统计匹配到的 ...
- 第5天(半天)【shell编程初步、grep及正则表达式】
第5天(半天)[shell编程初步.grep及正则表达式] shell编程初步(01)_recv shell脚本:文本文件 #!:/bin/bash #!:/usr/bin/python #!:/us ...
- linux下的文本处理命令sed&awk&grep
Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破 ...
- 1.Sed | Awk | Grep | Find
1.Sed | Awk | Grep | Find 可以参考的文档链接 CentOS7 查看 当前机器 已经启动的端口的Shell命令: netstat -lntup | awk -F' ' {'pr ...
- grep查询文本:问一个简单shell问题,将grep的输出赋值给一个变量
问一个简单shell问题,将grep的输出赋值给一个变量 用grep命令得到的输出赋值给一个变量不成功. grep命令如下: 代码: $ grep -c '^abc' file.txt 输出为22,表 ...
- shell编程之awk命令详解
shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; out ...
- 【转帖】vim/sed/awk/grep等文件批处理总结
vim/sed/awk/grep等文件批处理总结 https://www.cnblogs.com/cangqiongbingchen/p/9760544.html Vim相关操作 1.基础 * 和 # ...
- shell脚本基础和grep文本处理工具企业应用4
文本处理工具: egrep: 支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E egrep [OPTIONS] PATTERN [FILE...] ...
随机推荐
- go 语言字典元素删除
package main import "fmt" func main() { /* 创建map */ countryCapitalMap := map[string]string ...
- linux下带有空格的文件怎么删除
如:hello world文件 第一种方式 先用 ls -i 得到 hello world 的inod(就是最前面的数字)假设这个数字是123,然后find . -inum -exec rm {} \ ...
- 使用tk.mybatis快速开发curd
使用mybatis已经是可以快速开发程序了,对于单表的curd似乎是一种可抽象的结果,下面介绍tk.mybatis的使用方式. maven引用 我使用的是这个版本,所以相关功能介绍也是这个版本. 使用 ...
- 用docker部署flask+gunicorn+nginx
说来惭愧,写了好几个flask django项目都是在原型阶段直接python app.py 运行的,涉及到部署用nginx和gunicorn 都是让别人帮我部署的,据说好像说很麻烦的样子,我就没自己 ...
- 『cs231n』作业3问题3选讲_通过代码理解图像梯度
Saliency Maps 这部分想探究一下 CNN 内部的原理,参考论文 Deep Inside Convolutional Networks: Visualising Image Classifi ...
- memcpy详解
头文件:#include<string.h>函数原型:void *memcpy(void str,const void *s,size_t n); 功能 c和c++使用的内存拷贝函数.从源 ...
- UVA-818 Cutting Chains (位压缩+暴力搜索)
题目大意:一种环能打开和闭合.现在有n(1<=n<=15)个编号为1~n的环错综复杂的连接着,要打开一些环重新连接使这n个环能构成一条链,问最少需要打开几次环可达到目的? 题目分析:用二进 ...
- 在Windows下配置svn服务端钩子程序(部分)
需求一,svn提交时必须填写log日志的需求,如何进行配置呢?请看下面. 需要在版本库目录下找到hooks文件夹,我的版本库是dxoffice,所以是这个目录,你要找自己的目录 然后进入,创建一个pr ...
- 关于向后台请求数据(get请求,无参数传递),返回html代码(实际需要返回的是json数据)的解决方案
this.$http.get(apis.schoolVideo, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }) 待续
- 快速切题 sgu105. Div 3 数学归纳 数位+整除 难度:0
105. Div 3 time limit per test: 0.25 sec. memory limit per test: 4096 KB There is sequence 1, 12, 12 ...