SHELL sed和gawk

sed编辑器
sed成为流编辑器,跟普通交互式编辑器恰好相反,即在处理文本流之前已经定义好规则。它可以基于命令行或文本处理,它每次从输入中读取一行,用提供的编辑器命令匹配数据,按命令中指定的方式修改流中的数据,然后将生成的数据输出到STDOUT。
命令格式:sed option script file
这里写图片描述
s 命令,将文本进行替换
例:echo “This is a test” | sed ‘s/test/TEST/’
#将test替换为TEST
或 sed ‘s/test/TEST/’ filename
但是这样替换只替换遇到的第一个,若是替换文本中所有的则需要flag
s/pattern/replacement/flags
这里写图片描述
在g作为标志时可以替换文本中特定匹配地方出现的文本
这里写图片描述
注意:由于正斜线通常表示文件路径,当出现在模式文本中时需要进行转义这里写图片描述

e 命令,执行多个命令
这里写图片描述
f 命令,指定文件
此时会将每一行作为一个命令
gawk命令
格式:
gwak options program file
这里写图片描述
gawk的强大之处在于处理数据,当读取文本后可以利用它处理文本并显示。
从命令行读取程序脚本这里写图片描述
使用数据字段变量这里写图片描述
gawk利用分隔符对数据字段进行分割,其默认的分隔符是任意的空白字符(如空格或制表符),利用-F选项可以指定分割符。
这里写图片描述
当使用多个命令时,每个命令后面需加分号,或者利用次提示符一行一个命令的输入脚本程序。
这里写图片描述
这里写图片描述
文件中读取程序:
这里写图片描述
在文件中使用多条命令的话,只需将每一行放置一条命令就行了。
在处理数据前运行脚本:
默认情况下,gawk先从输入中读入一行文本再对文本进行处理。利用BEGIN关键字它会强制在读取数据前执行BEGIN关键字后面的程序脚本这里写图片描述
显示之后不会等待文本的输入,而是迅速的退出。
这里写图片描述
在处理数据之后运行脚本:
END关键字允许在处理数据之后运行相应的内容。
这里写图片描述
未完 。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值