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 除了列出符合行之 ...
随机推荐
- centos6.8 ssh 问题
xshell用ROOT不能登录 需要把 /etc/ssh/sshd_config 中的端口新建一个 不能用默认的
- css mix-blend-mode 混合模式
CSS3混合模式种类 在CSS3混合模式中,目前仅有16种:normal,multiply,screen,overlay,darken,lighten,color-dodge,color-burn,h ...
- 使用说明(2S)
[Build Status] 功能 系统代理设置 PAC 模式和全局模式 [GFWList] 和用户规则 支持 HTTP 代理 支持多服务器切换 支持 UDP 代理 支持插件 下载 下载 [最新版]. ...
- 最新 开创java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.开创等10家互联网公司的校招Offer,因为某些自身原因最终选择了开创.6.7月主要是做系统复习.项目复盘.LeetCode ...
- vue 强制组件重新渲染
参考链接:https://blog.csdn.net/zyx1303031629/article/details/86656785
- python3.6-Yelp/elastalert0.2.1-elk7.2.0邮件加企业微信告警
0.修改时区(前提条件已经安装好elk7.2) rm -f /etc/localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimetimed ...
- eNSP——配置全局地址池的DHCP
原理: 拓扑图: 实验编址: 1.基本配置 2.配置全局地址池的DHCP Server 在R1上开启DHCP功能,使用ip pool命令创建一个全局地址池,名字自己定. 在全局地址池配置网段.掩码.租 ...
- CentOS7.5下安装nginx --项目部署
1.安装ngnix一些依赖包 [root@VM_39_157_centos ~]# yum -y install gcc gcc-c++ openssl-devel pcre-devel httpd- ...
- 说一说Unsafe魔法类
这篇算是对 Unsafe 的一个总体概况,由于内容实在太多,后续会分开几篇文章对里面内容展开细讲 前言 Unsafe可以说是java的后门,类似西游记中的如来佛祖法力无边,Unsafe主要提供一些用于 ...
- 转:TSDF in Kinect fusion
KinectFusion中用到的TSDF Fusion 原po:https://blog.csdn.net/qq_31785865/article/details/78524429 最近在看关于稠密三 ...