how to write a function or awk fn ? , please help !!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to write a function or awk fn ? , please help !!
# 8  
Old 11-13-2011
Looks like it might be an awk version issue. Are you by chance running on Solaris? If so, change awk to nawk and see what happens. You might also need to change the delete value statement if you end up using nawk.

If you're not running Solaris, what is the output of this command:
Code:
awk --version

# 9  
Old 11-13-2011
im working on solaries 10
Code:
#!/usr/bin/env ksh



nawk -v target="${1:-515}" '
    BEGIN {
        value["DataField"] = "Not Found";
    }

    /Variable #/  { snarf = 1; next; }

    snarf > 0 && $1 == "End " {
        snarf = 0;

        if( value["DataId "] == target )
            printf( "%s\n", value["DataField"] );

        delete value
        value["DataField"] = "Not Found";
        next;
    }

    snarf > 0 && $(2) == ":" {
        value[$1] = $3;
    }
'
exit $?

Code:
bash-3.00# bash -x List.ksh 300 <list
+ nawk -v target=300 '
    BEGIN {
        value["DataField"] = "Not Found";
    }

    /Variable #/  { snarf = 1; next; }

    snarf > 0 && $1 == "End" {
        snarf = 0;

        if( value["DataId "] == target )
            printf( "%s\n", value["DataField"] );

        delete value
        value["DataField"] = "Not Found";
        next;
    }

    snarf > 0 && $(2) == ":" {
        value[$1] = $3;
    }
'
nawk: you can only delete array[element] at source line 15
 context is
                delete value >>>
 <<<         value["DataField"] = "Not Found";
nawk: syntax error at source line 15
nawk: illegal statement at source line 15
+ exit 2
bash-3.00#

how can i change delete ( delete value )
# 10  
Old 11-13-2011
Use this in place of the delete statement:

Code:
split( "", value, "." );

# 11  
Old 11-13-2011
Code:
bash-3.00# bash -x List.ksh 300 <list
+ nawk -v target=300 '
    BEGIN {
        value["DataField"] = "Not Found";
    }

    /Variable #/  { snarf = 1; next; }

    snarf > 0 && $1 == "End" {
        snarf = 0;

        if( value["DataId"] == target )
            printf( "%s\n", value["DataField"] );

        split( "", value, "." );
        value["DataField"] = "Not Found";
        next;
    }

    snarf > 0 && $(2) == ":" {
        value[$1] = $3;
    }
'
+ exit 0

what can i do then
Code:
List.ksh 300 <list

bash: List.ksh: command not found


but
Code:
bash-3.00# ./List.ksh 300 <list
bash-3.00#

i wanna see the output
what if i wanna save the output of this function in a new file Smilie Smilie Smilie

i feel its getting to be solved soon please help me and thanks for all your great efforts agama Smilie

Last edited by teefa; 11-13-2011 at 06:45 PM..
# 12  
Old 11-13-2011
Code:
./List.ksh 300 <list >savedOutputFile

This User Gave Thanks to vgersh99 For This Post:
# 13  
Old 11-13-2011
Quote:

can you tell me how to get output to this function or file from the start of this post Smilie
# 14  
Old 11-13-2011
Quote:
can you tell me how to get output to this function or file from the start of this post Smilie
Huh? I don't follow you. What seems to be the issue?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help on awk for printing the function name inside each function

Hi, I am having script which contains many functions. Need to print each function name at the starting of the function. Like below, functionname() { echo "functionname" commands.... } I've tried like below, func=`grep "()" scriptname | cut -d "(" -f1` for i in $func do nawk -v... (4 Replies)
Discussion started by: Sumanthsv
4 Replies

2. Shell Programming and Scripting

Need help to write a function in shell scripting to execute sql files

Hi, I am new to shell scripting and i need to write a automation script to execute sql files. I need to check the table if it is there in system tables and need to write a function to call the .sql files. For ex. I have a.sql,b.sql,c.sql files, where the sql file contains DELETE and INSERT... (1 Reply)
Discussion started by: Samah
1 Replies

3. UNIX for Dummies Questions & Answers

MAN and read & write function

How to use MAN to find information about read() and write() function ? The command "man read" show some rubbish, for example "man open" show great information about function I need. (2 Replies)
Discussion started by: bbqtoss
2 Replies

4. UNIX for Dummies Questions & Answers

how to write a function to get data under specific lines ?

I have a text file called (msgz ) contains data : Subscriber Data ID = 2 Customer = 99 Data ID = 4 Customer = cf99 Data ID = 5 Customer = c99 Data ID = 11 Customer = 9n9 Subscriber Data ID = 1 Customer = 9ds9 Data ID = 2 Customer = 9sad9 Data ID = 3 Customer = f99... (3 Replies)
Discussion started by: teefa
3 Replies

5. Shell Programming and Scripting

how to write a function to get data under spesific lines ? using bash

I have a text file called ( bvhz ) contains data : Subscriber Data ID = 2 Customer = 99 Data ID = 4 Customer = cf99 Data ID = 5 Customer = c99 Data ID = 11 Customer = 9n9 Subscriber Data ID = 1 Customer = 9ds9 Data ID = 2 Customer = 9sad9 Data ID = 3 Customer = f99... (1 Reply)
Discussion started by: teefa
1 Replies

6. Homework & Coursework Questions

Write a function named isPrime

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Write a function named isPrime which accepts one integer parameter, say x. Have the function return TRUE if x... (4 Replies)
Discussion started by: KyleBucket
4 Replies

7. Shell Programming and Scripting

[BASH] Using a function to write data to a file

Hello, I've created a shell script, which accepts information using an input from the console. Part of the script will write a file containing this information. My code looks like (for the write) function make_file { cat <<- _EOF_ The contents of my file are here _EOF_ } ... (12 Replies)
Discussion started by: cpickering
12 Replies

8. Programming

how to write a wrapper c code to return uid using getuid() function

And how to use setuid() ? thanks (4 Replies)
Discussion started by: pwd
4 Replies

9. Shell Programming and Scripting

how to write divided function

hi iam facing problem for divided (%) arthemtic function in for condition. tell me reply and all the arthemtic function in one scripting . (2 Replies)
Discussion started by: naveeng.81
2 Replies

10. Shell Programming and Scripting

How To Write Sed Function

hi iam facing problem regarding sed function. give me reply with example of sed function. and what to meanings of $# and @ in scripting please as reply as soon as possible (1 Reply)
Discussion started by: naveeng.81
1 Replies
Login or Register to Ask a Question