linux命令sed与awk是干什么用的,怎么用?
非常强大的文本操纵工具,sed,awk,grep 这个三个命令 都是操作文本文件的
unix系统有几个非常命令的特点:
1. 对于内核而言,unix文件都是字节序列。io设备也是文件。
2. 至于文件的含义交由应用程序来解释。其中文本文件非常重要,因为unix提供 很多了实用程序(utility),这些程序功能相对独立,但可以通过管道来实现进程间通信(IPC),这样松散的耦合可以完成复杂的操作。那么进程间的通信的数据格式是怎样的呢? 其实对于实用程序而言,这个数据格式就是简单的文本文件。此外,还有IO重定向,也是一个不错的创意。至于文本文件中的内容采用什么格式呢?这个很具体的命令有关,那么操作文本就变得非常重要。grep,sed和awk就是三个操纵文本文件的命令
grep搜索
sed 修改和编辑文本文件中某些行
awk 是访问文本文件,操纵文本文件中某些数据
明白了吗?
sed 可理解为 stream editor 的简称,即文本流编辑器。以行为单位处理文本,可以做插入行、删除行、行内文本替换等操作。
awk 中存在 记录 和 字段 两个关键概念,通常默认一行就是一个记录,一个记录又可以被指定分隔符(默认是空格或tab)分割为多个字段。因此awk更为灵活与强大(并且有很多内置函数和变量可使用)。
关于具体用法,太多了。强大的东西总不是三言两语能够说尽的。网上有很多教程可以看,例如:
Sed - An Introduction and Tutorial.doc
Awk - An Introduction and Tutorial.doc
linux命令sed与awk是干什么用的,怎么用?的更多相关文章
- Linux之sed、awk
Linux 之AWK 命令 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行的读入,以空格默认分隔 ...
- Linux(8):linux三剑客sed和awk & Shell 编程(1)
linux 三剑客 之 sed # sed 是什么? # sed : 字符流编辑器 Stream Editor: sed 擅长 替换.取行等 # sed 的功能与版本: 处理纯文本文件.日志.配置文件 ...
- 007 Linux 命令三剑客之-awk
01 一起来认识 awk! Linux 命令三剑客,sed.grep.awk. sed:擅长数据修改. grep:擅长数据查找定位. awk:擅长数据切片,数据格式化,功能最复杂. awk 更适合格式 ...
- Linux命令sed
如果一个文本文件数据比较多,大概有40万条数据,我想取出第500-1000条数据,保存到另一个文件,用linux命令该如何操作? sed -n '500,1000p' 41w.txt > new ...
- shell编程基础(七): 处理文件命令sed与awk
一.sed(以行为单位处理文件) sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑 ...
- linux 命令--sed
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处 ...
- linux 命令 — sed
sed stream editor,流编辑器 查找替换 sed 's/pattern/replace_string/' file 替换每一行第一次出现的pattern,将替换后的文本输出到stdout ...
- Linux命令 sed
一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d' # 删除第2~5行 $ nl passwd | sed '2d' # 删除第2行 $ nl passwd | ...
- linux命令sed学习笔记
sed其实就是两个主要的知识点,那就是“怎么选择”和“怎么操作”!
随机推荐
- 【Android】修改包名
工程写的差不多了才发现原来用的包名还是自己尝试性的进行写代码的时候用到的.但apk的发布,google map api的申请等等方面都需要用到一个比较规范的包名.这就涉及到修改包名的问题. 包名一开始 ...
- C++ inheritance: public, private. protected ZZ
公有继承(public).私有继承(private).保护继承(protected)是常用的三种继承方式. 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时, ...
- 鲁棒图(Robustness Diagram)
鲁棒图与系统需求分析 鲁棒图(Robustness Diagram)是由Ivar Jacobson于1991年发明的,用以回答“每个用例需要哪些对象”的问题.后来的UML并没有将鲁棒图列入UML标准, ...
- Kibana基本使用
现在你已经安装了Kibana,现在你一步步通过本教程快速获取Kibana核心功能的实践经验.学习完本教程,你将: 1.加载案例数据到你安装的Elasticsearch中 2. 定义至少一个索引匹配模式 ...
- Qt::FocusPolicy的使用
http://blog.csdn.net/imxiangzi/article/details/50742813
- ubuntu 16.04 virtualbox could not insert 'vboxdrv': Required key not available 问题解决方法
从 内核版本 4.4.0-20 开始,在开启了 Secure Boot 的电脑上,未注册的 kernel 模块不再允许执行,所以如果想在保持 Secure Boot 的情况下依然允许执行,我们需要做的 ...
- Linux账号管理和ACL
by zjmyster version :1.2 Linux账号管理和ACL权限设置: 主要相关配置文件:/etc/passwd /etc/shadow /etc/group /etc/gshadow ...
- linux系统开机突然黑屏,只有光标
以前系统都是好好的,今天开机黑屏了,只有一个光标可以看见其他东西都看不见了. 经过检查发现是磁盘满了,将不用的文件删除之后可以正常开机了.特此记录一下!!! 有人问黑屏了怎么删文件? 我采用的方法是W ...
- January 14 2017 Week 2nd Saturday
Don't try so hard, the best things come when you least expect them to. 不要着急,最好的总会在最不经意时出现. The secon ...
- jclass和jobject的迷惑
[译]jclass和jobject 2012-09-18 15:02:58| 分类: Android |字号 订阅 jclass和jobject的迷惑第一次使用JNI,实例引用(jobject) ...