4.3 awk,sed2018-03-24

xiaoxiao2021-03-01  11

一. sed
1.概述:

一次处理一行内容,把当前处理的行存储在临时缓冲区,用sed处理缓冲区中的内容,处理完后,送往屏幕,接着处理下一行,直到文件末尾(文件内容没有改变)

2.定址:

如 1, 3 表示1,2,3行;$表示最后一行

3.定界:

sed 's:test:TEXT:g'

4.调用:

sed [-nefri] 'command' file(s)

sed [-infri] -f scriptfile file(s)

-n  列出到屏幕

-f  直接将Sed的动作写在一个档案内

-r  支持延展型

-i  直接修改读取的档案内容,而不是由屏幕输出

5.常用命令:

a  新增,后面可以接字符串,这些字串出现在目前的下一行

c  取代,后面可以接字串,这些字串可以取代n1,n2之间的行

d  删除,后面通常不接内容

i   插入,后面可以接字串,这些字串出现在目前的上一行

p  列印,将某个选择的内容打印出来

s  替换,前面为旧的,后面为新的

二. awk
1.基本结构:

awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" } file

这三个部分都是可选的

2.工作原理:

第一步:执行BEGIN中commands

第二步:从文件或标准输入读取一行,执行pattern 中commands,逐行扫描

第三步:读至末尾时,执行END中commands

3.内置变量:

$n  当前记录的第n个字段

$0  当前行的文本内容

FS  字段分隔符(默认为空格),可以使用-v进行修改

NF  字段数,执行过程中对应于当前字段数

NR  记录数,执行过程中对应于当前行号

OFS  输出字段分隔符(默认为空格)

RS  记录分隔符(默认为换行符)

ORS  输出记录分隔符(默认为换行符)

选项:

-F  指明输入时用到的字段分隔符

-v  var=value,自定义变量

例子:

转载请注明原文地址: https://www.6miu.com/read-3350285.html

最新回复(0)