Skip to main content
Command added.
Source Link
Prabhjot Singh
  • 2.4k
  • 1
  • 6
  • 20

Using gawk:

$ awk '
     n=split($0,a, "oo\\+",sep){ 
        for(i in sep) sep[i]="oo:";
        if (match(a[3], /^.{8,}pkp/)) sep[2]="o:";
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
  }1' 

$ awk -F 'oo\\+' -v OFS='oo:' '{for(i=1;i<=NF;i++) printf "%s", $i (i==NF ? ORS : (i==2  && match($3, /^.{8,}pkp/) ? "o:" : OFS))}' 

Using gawk:

$ awk '
     n=split($0,a, "oo\\+",sep){ 
        for(i in sep) sep[i]="oo:";
        if (match(a[3], /^.{8,}pkp/)) sep[2]="o:";
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
  }1'

Using gawk:

$ awk '
     n=split($0,a, "oo\\+",sep){ 
        for(i in sep) sep[i]="oo:";
        if (match(a[3], /^.{8,}pkp/)) sep[2]="o:";
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
  }1' 

$ awk -F 'oo\\+' -v OFS='oo:' '{for(i=1;i<=NF;i++) printf "%s", $i (i==NF ? ORS : (i==2  && match($3, /^.{8,}pkp/) ? "o:" : OFS))}' 
Post Undeleted by Prabhjot Singh
Command corrected
Source Link
Prabhjot Singh
  • 2.4k
  • 1
  • 6
  • 20

Using gawk:

$ awk  '
      n=split($0,a, "oo\\+",sep){ 
        for(i in sep) sep[i]="oo:";
        if (match(a[3], /^.{8,}pkp/)) 
        sep[2]="o+"; sep[2]="o:";
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
    }1'

Using gawk:

$ awk  '
      n=split($0,a, "oo\\+",sep){ 
      if (match(a[3], /.{8}pkp/)) 
        sep[2]="o+"; 
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
    }1'

Using gawk:

$ awk '
     n=split($0,a, "oo\\+",sep){ 
        for(i in sep) sep[i]="oo:";
        if (match(a[3], /^.{8,}pkp/)) sep[2]="o:";
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
  }1'
Post Deleted by Prabhjot Singh
Source Link
Prabhjot Singh
  • 2.4k
  • 1
  • 6
  • 20

Using gawk:

$ awk  '
      n=split($0,a, "oo\\+",sep){ 
      if (match(a[3], /.{8}pkp/)) 
        sep[2]="o+"; 
        for(i=1;i<=n;i++) $0 = (i==1 ? "" : $0) sep[i-1] a[i]
    }1'