Sponsored Content
Full Discussion: Numbering by field
Top Forums Shell Programming and Scripting Numbering by field Post 302925629 by cmccabe on Tuesday 18th of November 2014 10:09:58 AM
Old 11-18-2014
I seem to be getting the below error with the code. Thank you Smilie.

Code:
awk -f exon.awk
awk: exon.awk:2: awk 'BEGIN { prev="";cur="";cursign="";prevsign="";}
awk: exon.awk:2: ^ invalid char ''' in expression
awk: exon.awk:2: awk 'BEGIN { prev="";cur="";cursign="";prevsign="";}
awk: exon.awk:2: ^ syntax error

exon.awk
Code:
 #!/bin/awk -f
awk 'BEGIN { prev="";cur="";cursign="";prevsign="";}
{
if($5!="")
cursign=$5;
cur=$4;
#print "prev =" prev " cur= " cur " cursign= " cursign " prevsign=" prevsign
if($5=="-")
        {
        if(cur!=prev)
                {
  if(prevsign=="+" || prevsign=="")
   {
   i=1; 
   a[i]=$0
   }
  else
   {  
   k=i;
   for(j=1;j<=k;j++)
    {
    print a[j] " " i
    i=i-1;
    }
                 i=1;
   a[i]=$0
                 }
  }
        else
                {
  i=i+1
  a[i]=$0
                }
  prev=cur;
        }
if($5=="+")
        {
        if(cur!=prev)
                {
  if(prevsign=="-" || prevsign=="")
     {
   k=i;
   for(j=1;j<=k;j++)
    {
    print a[j] " " i
    i=i-1;
    }
   i=1;
                 print $0 " " i
   } 
  else
   {
                 i=1;
                 print $0 " " i
                 }
  }
        else
                {
                i=i+1
                print $0 " " i
                }
prev=cur;
 }
prevsign=$5;
}
END { 
if(cursign=="-")
 {
   k=i;
   for(j=1;j<=k;j++)
    {
    print a[j] " " i
    i=i-1;
    }
 }
}
' output.txt > exon_number.txt


Last edited by Don Cragun; 11-18-2014 at 02:17 PM.. Reason: Get rid of extraneous SIZE tags.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

numbering of process

:confused: How does UNIX handle the numbering of processes? (2 Replies)
Discussion started by: tweety111
2 Replies

2. UNIX for Dummies Questions & Answers

Numbering!

Just a shot question... how to make 1,2,3,...999 into the form of 001,002,003....999 (3 digits) Thanks.... (9 Replies)
Discussion started by: biglemon
9 Replies

3. Shell Programming and Scripting

Numbering

I'm trying to do a script that will look for a log file if it is already there change the name to another name. I.E if log.0 is there rename to log.1 rename log.1 to log.2 rename log.2 to log.3 and so on. Only thing is I got no idea where or what is the best command to use for this? ... (3 Replies)
Discussion started by: merlin
3 Replies

4. UNIX for Advanced & Expert Users

numbering blanks

hello i'm trying to figure out how to number a blank line. For instance this : sed '/./=' file | sed '/./N; s/\n/ /' gives me 1 aaaa 2 bbbbbb 4 cccccc 5 ffkkkfff 6 ffsdfdfs I would like something like this: 1 aaaaa 2 3 bbbbbb 4 5 cccccc And so... (6 Replies)
Discussion started by: wisher115
6 Replies

5. Shell Programming and Scripting

Numbering Lines

Hello everyone, I want get numbered lines from a file. and i can do it with: sed = file.txt | sed "/./N; s/\n/ /" | sed -n "5,7p" but the output that i get is something similar to: 5 line5 6 line6 7 line7 and i want something like this (with 2points after the number): 5:... (6 Replies)
Discussion started by: vibra
6 Replies

6. Shell Programming and Scripting

Numbering duplicates

Hi, I have this large file and sometimes there are duplicates and I want to basically find them and figure how many there are. So I have a file with multiple columns and the last column (9) has the duplicates. eg. yan tar tar man ban tan tub tub tub Basically what I want to... (6 Replies)
Discussion started by: kylle345
6 Replies

7. UNIX for Dummies Questions & Answers

Numbering the rows

If I a list of components, is there anyway to number (like automatically have: 1,2,3,...) the rows of my data? (1 Reply)
Discussion started by: cosmologist
1 Replies

8. Shell Programming and Scripting

help with numbering a file

Hi, All I need to do is number a file. The file looks like this > JJJJJJJJJJJJJJJJJJJJJ > JKJKJKKKKKKJJJ > MMMMYKKKJKKK what I want to do is number it so that theres a numerical value beside the >. >1 JJJJJJJJJJJJJJJJJJJJJ >2 JKJKJKKKKKKJJJ (2 Replies)
Discussion started by: kylle345
2 Replies

9. Shell Programming and Scripting

Incremental numbering?

Would it be possible for a script to duplicate a file and incrementally number it? File in: XXX_007_0580_xxxx_v0016.aep File out: XXX_007_0580_xxxx_v0017.aep If someone knows of a way I'd love to see it. Thanks! (7 Replies)
Discussion started by: scribling
7 Replies

10. Shell Programming and Scripting

Removing numbering from last character

Hi, I have a file test.txt, below the contents: SCDE1 SF9 STR1D2 SREDF21 FRED STER2R4 I want to remove only the last character if it is the number, so the output should as below: SCDE SF STR1D SREDF2 FRED STER2R (4 Replies)
Discussion started by: khchong
4 Replies
IGAWK(1)							 Utility Commands							  IGAWK(1)

NAME
igawk - gawk with include files SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ... igawk [ all gawk options ] [ -- ] program-text file ... DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1). AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like @include getopt.awk in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path. OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports. EXAMPLES
cat << EOF > test.awk @include getopt.awk BEGIN { while (getopt(ARGC, ARGV, "am:q") != -1) ... } EOF igawk -f test.awk SEE ALSO
gawk(1) Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995. AUTHOR
Arnold Robbins (arnold@skeeve.com). Free Software Foundation Nov 3 1999 IGAWK(1)
All times are GMT -4. The time now is 06:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy