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或$命令中添加!,表示第一行或者最后一行不执行这个命令。
参考:
出处:
以上是关于awk 和 sed (Stream Editor)的主要内容,如果未能解决你的问题,请参考以下文章