Visit Our UNIX and Linux User Community


problem in making Awk executable script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting problem in making Awk executable script
# 1  
Old 08-05-2009
problem in making Awk executable script

Guys I placed
#!path/awk -f
placed awk script
and used $1 to call 1st inputfile inside the script.
But some where I did mistake. Could you please help me run this script as executable
I forgot to mention I also used BEGIN before placing awk script. But nothing worked out.

Script

Code:
#!/usr/bin/awk 
      'NF {
  sec = $2; fifth = split($5, _fifth, ","); sixth = split($6, _sixth, ",")
  counter = rec = ""; key = $1; flag = $4; sub(/[^ \t*]*/, "")
  dummy = sprintf("%*s", length(key),x)
  for (i=1; i<=sixth; i++) {
    second_third = sec + _sixth[i] FS _fifth[i] + sec + _sixth[i]
    third_second = sec + _sixth[i] FS _fifth[i] + sec + _sixth[i]
    if (flag == "+") 
      rec = rec ? rec RS dummy OFS second_third : key OFS second_third OFS $0
    else if (flag == "-")  
      rec = rec ? rec RS dummy OFS third_second : key OFS third_second OFS $0    }
  print (flag == "+" ? rec : rec)    
 }' OFS='\t' ORS='\n' $1



---------- Post updated at 01:49 AM ---------- Previous update was at 01:47 AM ----------

Just incase if you need
Input

Code:
X1	84	140	-	4,10,4	0,36,52
X1	20	110	+	5,10,5	0,35,90

# 2  
Old 08-05-2009
Hi.

You're mixing up awk script together with shell script.

Try:

Code:
#!/usr/bin/awk -f
BEGIN {
   OFS="\t"; ORS="\n"
}
NF {
  sec = $2; fifth = split($5, _fifth, ","); sixth = split($6, _sixth, ",")
  counter = rec = ""; key = $1; flag = $4; sub(/[^ \t*]*/, "")
  dummy = sprintf("%*s", length(key),x)
  for (i=1; i<=sixth; i++) {
    second_third = sec + _sixth[i] FS _fifth[i] + sec + _sixth[i]
    third_second = sec + _sixth[i] FS _fifth[i] + sec + _sixth[i]
    if (flag == "+")
      rec = rec ? rec RS dummy OFS second_third : key OFS second_third OFS $0
    else if (flag == "-")
      rec = rec ? rec RS dummy OFS third_second : key OFS third_second OFS $0    }
  print (flag == "+" ? rec : rec)
}


Output:
Code:
X1      84 88           84      140     -       4,10,4  0,36,52
        120 130
        136 140
X1      20 25           20      110     +       5,10,5  0,35,90
        55 65
        110 115

# 3  
Old 08-06-2009
Thanx alot. Working fine

Previous Thread | Next Thread
Test Your Knowledge in Computers #48
Difficulty: Easy
Alan Turing is considered to be the 'Father of Cryptography'.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Making bash script allways executable when transfer ?

Does it possible to make some bash script automatic to be a executable when transfered to another pc...? (5 Replies)
Discussion started by: tomislav91
5 Replies

2. Shell Programming and Scripting

Making any script executable

Hi all, I'm new to Unix so just wanted some help. I've been self learning and came accross a question online that I was trying. It is to make any shell script executable, the name of the file is to be made executable. I would use nano and type in something like #! /bin/bash Chmod +x... (4 Replies)
Discussion started by: HelenaR
4 Replies

3. Shell Programming and Scripting

Problem in making a list with awk

Hi bodies,I am doing a list from a .txt file with awk commands but something is wrong. The .txt file looks like: 32782 28 18 32783 02 18 32784 01 18 32785 29 18 32786 25 23 32787 25 18 32788 00 18 32789 25 26 32790 02 23 32791 29 26 ... (2 Replies)
Discussion started by: Behrouzx77
2 Replies

4. Shell Programming and Scripting

Making a perl script executable

Hello, I have a perl program called snp_hwe.pl I have another program called hwe_test.run which contains the following: for file in *.inp do cp $file genotype_counts_c.txt ./snp_hwe.exe > $file'.res' done I want to change my perl program to an executable program while changing... (3 Replies)
Discussion started by: Homa
3 Replies

5. UNIX for Dummies Questions & Answers

Making file executable

Hi guys, i'm trying to make a file called 'run-all-tests' executable but it is not letting me for some reason. I am presented with the following error: chmod: cannot access `./run-tests': No such file or directory Basically i have a folder called ex3 and within that there are task folders:... (11 Replies)
Discussion started by: Shyamz1
11 Replies

6. UNIX for Dummies Questions & Answers

need help making a script executable

making a script in vi to create a shell script called wherearethey by entering the following script: echo -n "Who are you looking for: "read userif then list=`w | grep $user | cut -c19-30` if then echo "The user $user is logged in from $list" else echo "The user $user is not logged in... (3 Replies)
Discussion started by: curtner
3 Replies

7. UNIX for Dummies Questions & Answers

Making UNIX script executable

Hello, I am very new to UNIX and I have been learning about writing scripts and making them executable. I created a script called myscript. It has three lines: #! /bin/sh # This is my first shell script echo friendsjustfriends Now I try to run it using the sh command and it works Next I... (4 Replies)
Discussion started by: rohitx
4 Replies

8. AIX

Making Executable File

Hi All: I am a newbie. I have shell script and bunch of java jar files and I want to give one single executable file (may be .bin). Ex: I have test.sh, jar1.jar, jar2.jar. I have to make process.xxx When we run "process.xxx" it will run the "test.sh" script which inturn uses jar1.jar and... (0 Replies)
Discussion started by: laxman123
0 Replies

9. Shell Programming and Scripting

Problem in making shell script

Dear all Dear Brother I am bit new to programming or shell scripting. I have given one shell script which is regarding combining all the 240 or less files in a particular folderwhich is related to one hour of the day. There will be 24 these kind of folders related to a day . It means there... (4 Replies)
Discussion started by: girish.batra
4 Replies

10. Filesystems, Disks and Memory

pls hlp: making .sh files executable

I've got a file named jdictd.sh containing the following: --- begin file contents --- #! /bin/csh echo I\'m running! java -cp jdictd.jar org.dict.server.JDictd data/dict.ini # Use the following line instead if JRE 1.1 is used # jre -cp jdictd.jar org.dict.server.JDictd data/dict.ini ---end... (2 Replies)
Discussion started by: ropers
2 Replies

Featured Tech Videos