sed awk 命令速记

309次阅读  |  发布于2年以前

sed 是一种流编辑器,可以配合正则表达式对文本行进行匹配,按行对文本进行插入、删除、替换操作。

命令格式如下,动作包含了要处理的范围,处理方式和处理时所需的内容:

例如,将文本中的john替换为jack。

例如:在第2行下面追加一行,内容是“rose”。

awk 是一种处理文本文件的语言,awk 会根据分隔符,将每一行分成若干列字段,依次用 $1 、 $2 、 $3 代表第一个字段、第二个字段、第三个字段等等,$0表示一整行。awk与sed一样都是按行进行对数据进行处理,awk可以快速的对数据进行分列。

命令格式如下,“条件”代表匹配要处理的数据,可以搭配正则表达式使用,{动作}表示对数据进行的处理。

例如:计算每个学生的平均成绩,并追加到最后一列。其中变量NF表示列数。

例如:只打印奇数行数据。变量NR表示当前行号。

常用正则表达式:

^ 开头

$ 结尾

. 一个非空字符

^$ 空行

* 匹配前一个字符0个或者多个

.* 全字符匹配

[ ] 匹配括号中任意字符

扩展正则表达式:

? 匹配前一个字符0次或者1次

+ 匹配前一个字符1次或者多次

| 或者

( ) 分组匹配

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8