sed & awk 概述
概述
一般情况下,从grep到sed和awk的学习过程是很自然的。sed和awk是一般用户、程序员和系统管理员们处理文本文件的有力工具。
sed的名字来源于其功能,它是个字符流编辑器(stream editor),可以很好地完成对多个文件的一系列编辑工作。
awk的名字来源于它的开发人Aho、Weinberger和Kernighan,它是一种程序设计语言,非常适合结构化数据的处理和格式化报表的生成。
sed 与 awk 共性
它们都使用相似的语法来调用。
它们都是面向字符流的,都是从文本文件中一次一行地读取输入,并将输出直接送到标准输出端。
它们都使用正则表达式进行模式匹配。
它们允许用户在脚本中指定指令。
它们有如此多的共同点,原因之是它们都起源于相同的行编辑器—ed。sed和awk的区别在于它们控制所做的工作时所用的指令不同。
语法
command [toptions] script_filename
输入:stdin 或 文件
输出:stdout 或 文件
禁止:输入输出是同一个文件
参数:sed和awk有区别,后面单独介绍
脚本:当命令较少时,可以单独输入,命令多时就需要写道脚本文件中。
sed & awk指令组成

工作流程

每个程序每次从输入文件中读取一个输入行,生成该输入行的备份,并且对该备份执行脚本中指定的指令。因此,对输入行所做的改动不会影响真正的输入文件。
当读取输入的每行时,程序读取脚本中的第一个指令并检测当前行的模式。如果没有匹配,这个过程被忽略并读取下一个指令。如果有一个匹配,那么执行过程中指定的一个或多个动作。读取所有的指令,而不只是读取与输入行匹配的第一条指令。
当所有可用指令被解释并应用于单个行后,sed输出该行并循环处理每个输入行。另一方面,awk不自动输出行,脚本中的指令控制awk最终所做的事情。
在sed和awk中过程的内容有很大不同。在sed中,过程由类似于行编辑器中使用的那些编辑命令组成。大部分命令由单个字母组成。
在awk中,过程由程序设计语句和函数组成。过程必须用大括号括起。
sed & awk 概述的更多相关文章
- Sed&awk笔记之sed篇
http://blog.csdn.net/a81895898/article/details/8482387 Sed是什么 <sed and awk>一书中(1.2 A Stream Ed ...
- linux sed awk seq 正则使用 截取字符 之技巧
[root@room9pc01 ~]# seq 5 1 2 3 4 5 [root@room9pc01 ~]# seq 2 5 2 3 4 5 seq 1 2 10 1 3 5 7 9 [root@d ...
- 1.Sed | Awk | Grep | Find
1.Sed | Awk | Grep | Find 可以参考的文档链接 CentOS7 查看 当前机器 已经启动的端口的Shell命令: netstat -lntup | awk -F' ' {'pr ...
- Sed&awk笔记之sed篇(转)
Sed是什么 <sed and awk>一书中(1.2 A Stream Editor)是这样解释的: Sed is a "non-interactive" strea ...
- [svc]linux正则实战(grep/sed/awk)
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...
- linux三剑客grep|sed|awk实践
最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk
- Linux三剑客grep/sed/awk
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...
- 【转帖】vim/sed/awk/grep等文件批处理总结
vim/sed/awk/grep等文件批处理总结 https://www.cnblogs.com/cangqiongbingchen/p/9760544.html Vim相关操作 1.基础 * 和 # ...
- sed awk grep三剑客常用
sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...
随机推荐
- 建立django项目的完整流程
简单的django登录项目 1.首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2.在Firstdjango工程项目 ...
- ElasticSearch文档删除字段
https://www.cnblogs.com/ljhdo/archive/2017/03/24/4885796.html
- 最新 拉卡拉java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.拉卡拉等10家互联网公司的校招Offer,因为某些自身原因最终选择了拉卡拉.6.7月主要是做系统复习.项目复盘.LeetCo ...
- php5.6安装及php-fpm优化配置
1,安装依赖包: yum install -y gcc gcc-c++ zlib zlib-devel pcre pcre-devel gd libjpeg libjpeg-devel libpn ...
- Hbuilder连接苹果手机
最简单的连接方法 1 手机电脑连接---usb 2 pc下载iTunes 3 信任电脑,手机信任设备(设置--->通用--->设备管理-->信任) 4 ...
- 【leetcode算法-中等】2. 两数相加
[题目描述] 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表 ...
- pthread_mutexattr_t设置的相关函数及其说明
基本概述 该函数用于C函数的多线程编程中,互斥锁的初始化. 头文件:#include <pthread.h> 函数原型: int pthread_mutex_init(pthread_mu ...
- JWT 身份认证优缺点分析以及常见问题解决方案
本文转载自:JWT 身份认证优缺点分析以及常见问题解决方案 Token 认证的优势 相比于 Session 认证的方式来说,使用 token 进行身份认证主要有下面三个优势: 1.无状态 token ...
- VS2010 MFC的按钮风格改变
改变VS2010 MFC的按钮风格 VS2010建的MFC工程按钮默认的风格类似VC6.0(直角矩形),如想美观按钮改为WIN7的按钮风格(圆角矩形),只需在代码中找到头文件"stdafx. ...
- [NOIP普及组2001]最大公约数和最小公倍数问题
目录 链接 博客链接 题目链接 题目内容 题目描述 格式 输入 输出 数据 样例 输入 输出 说明 题目名称:最大公约数和最小公倍数问题 来源:2001年NOIP普及组 链接 博客链接 CSDN 洛谷 ...