Grep模式并在匹配模式41572:90000:和90002:之后选择行的一部分。
输入
hyt : generation
str : 122344
stks : 9000233
dhy : 9000aaaa
sjyt : hist : hhh9000kkk
Count ch : 41572:47149-47999/2(14485-14910) 41584:47149-47999/2(14911-15449) 90000:47919-47999/2(15447-15477) 90002:47919-47999/2(15478-15418)
drx : 12345
此处使用的代码
awk '
{
flag=""
for(i=1;i<=NF;i++){
if($i ~ /41572/ || $i ~ /90000/ || $i ~ /90002/){
flag=1
printf("%s%s",$i,i==NF?ORS:OFS)
}
}
}
!flag
' Input_file
使用RavinderSingh13先生的上述代码,我得到了以下输出结果
hyt : generation
str : 122344
stks : 9000233
dhy : 9000aaaa
sjyt : hist : hhh9000kkk
41572:47149-47999/2(14485-14910) 90000:47919-47999/2(15447-15477) 90002:47919-47999/2(15478-15418)
drx : 12345
我需要以下输出
hyt : generation
str : 122344
stks : 9000233
dhy : 9000aaaa
sjyt : hist : hhh9000kkk
Count ch : 41572:47149-47999/2(14485-14910) 90000:47919-47999/2(15447-15477) 90002:47919-47999/2(15478-15418)
drx : 12345
预先感谢
答案 0 :(得分:1)
编辑: :根据OP的新问题添加解决方案。
awk '{flag="";for(i=1;i<=NF;i++){if($i ~ /41572/ || $i ~ /90000/ || $i ~ /90002/){flag=1;printf("%s%s",$i,i==NF?ORS:OFS)}}} !flag'
OR
awk '
{
flag=""
for(i=1;i<=NF;i++){
if($i ~ /41572/ || $i ~ /90000/ || $i ~ /90002/){
flag=1
printf("%s%s",$i,i==NF?ORS:OFS)
}
}
}
!flag
' Input_file
您能否请尝试以下操作(尽管仅根据显示的示例输出无法完全清除)。
awk 'NF>1{for(i=1;i<=NF;i++){if($i ~ /41572/ || $i ~ /90000/ || $i ~ /90002/){printf("%s%s",$i,i==NF?ORS:OFS)}};next} 1' Input_file
现在也添加一种非衬套形式的解决方案。
awk '
NF>1{
for(i=1;i<=NF;i++){
if($i ~ /41572/ || $i ~ /90000/ || $i ~ /90002/){
printf("%s%s",$i,i==NF?ORS:OFS)
}
}
next
}
1
' Input_file
说明: 也在此处添加了上述代码的说明。
awk '
NF>1{ ##Checking if NF is greater than 1.
for(i=1;i<=NF;i++){ ##Using for loop to go through from value 1 to till value of NF.
if($i ~ /41572/ || $i ~ /90000/ || $i ~ /90002/){ ##Checking if value of fields is either 41572 OR 90000 OR 90002 then do following.
printf("%s%s",$i,i==NF?ORS:OFS) ##Print the field value in case above condition is TRUE with NEW line if i==NF or space if not.
}
}
next ##Next will skip all further statements from here.
}
1 ##1 will print all edited/non-edited lines here.
' Input_file ##Mentioning Input_file name here.