awk 和 sed (Stream Editor)

Posted 风来了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk 和 sed (Stream Editor)相关的知识,希望对你有一定的参考价值。

 

1.sed 

pattern space(模式空间)相当于车间sed把流内容在这里处理;

hold space(保留空间)相当于仓库,加工的半成品在这里临时储存(当然加工完的成品也在这里存储)。

 

h/H  :copy/append pattern space to hold space(复制或者追加模式空间的数据至保留空间);

g/G  :copy/append hold space to pattern space(复制或者追加保留空间的数据至模式空间);

n/N  :Read/append the next line of input into the pattern space.(读取或追加模式空间数据的下一行数据);

 x         :exchange the contents of pattern space and hold space(交换模式空间和保留空间的数据);

d          :Delete pattern space.  Start next cycle. (删除模式空间内容);

h/H和g/G以及x联合起来用,可以达到栈和队列的使用目的。

 


sed \'G\' a.txt
因为hold space的初始为一个空行,并且始终没有修改其中的数据,所以结果是每行数据之后多了空行。

sed \'h;G\' a.txt
模式空间复制到保留空间,将保留空间复制到模式空间,结果是复制每一行数据。

sed \'p\' a.txt
输出模式空间的内容

sed -n \'\' a.txt
缺少了p命令,不能将pattern space中的数据进行输出, 结果是空

sed -n \'n;p\' a.txt
n表示读取模式空间的下一行,结果是只显示偶数行


sed -n \'p;n\' a.txt
奇数行显示

sed -n \'1!G;h;$p\' a.txt
倒序显示
在1或$命令中添加!,表示第一行或者最后一行不执行这个命令。

 

参考:

sed

出处:

awk 和 sed 

sed命令简单使用-pattern space与hold space  

以上是关于awk 和 sed (Stream Editor)的主要内容,如果未能解决你的问题,请参考以下文章

sed用法

sed命令

sed命令简介

Linux文本处理工具——Sed

文本处理三剑客之-sed基础用法

通过grep,awk,sed的简单应用获取网卡信息。