如果Name
背靠背,则删除名字
Name john
Age 30
Name Alice
Name Travis
Age 12
Name Monty
Name Hannah
期望的输出
Name john
Age 30
Name Travis
Age 12
Name Hannah
我试过的命令:
sed '/^Name/ {N; /\n$/d}' file.txt
sed '/Name/{$!N;/\n\nName/!P;D}' file.txt
答案 0 :(得分:1)
您可以使用此awk命令:
.container {
position: relative;
}
.arrow {
font-size: 5em;
position: absolute;
}
.anim {
height: 5px;
background-color: white;
position: absolute;
width: 100%;
animation: blink 1s linear alternate infinite;
}
@keyframes blink {
from {
height: 0px;
}
to {
height: 55px;
}
}
答案 1 :(得分:1)
这是使用awk
,
awk_script:
BEGIN{a=0}
/Name/{ if(a==1){print $0;name=""}else{name=$0"\n"} a=1 }
/Age/{printf "%s%s\n\n",name,$0; a=0;}
然后执行:
$ awk -f awk_sc file.txt
Name john
Age 30
Name Travis
Age 12
Name Hannah
简要解释:
变量a
是用于记录先前是否显示Name
的标志。在打印行后设置a=0
答案 2 :(得分:0)
可能不是您正在寻找的,但为什么不尝试只保留您感兴趣的内容。
sed -n '/^Name/ {N; /Age.*/p}' file.txt
会给你以下结果
Name john
Age 30
Name Travis
Age 12