apply a function twice successively with the same input in awk program


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers apply a function twice successively with the same input in awk program
# 1  
Old 09-19-2012
apply a function twice successively with the same input in awk program

Hi !

It is a general question.
When an awk script looks like:
Code:
#! bin/awk

function example(i){
        <body>
}

{
    example(1)          #the function uses input_1 and return output_a        
}

{
    example(2)          #the function uses previous output_a as an input and returns output_b
}1

How can I tell the program to use the same input for both times I use the function and not using the output of the first invocation as input for the second invocation of the function??? Is it doable?

If someone could explain me it would be very nice.
Thanks!
# 2  
Old 09-19-2012
A solution could be:

Code:
awk -f a.awk infile

where a.awk:

Code:
function example(t, i) {
    if (t==0) {return "<font>call " t ":" i "</font>";}
    if (t==1) {return "<font>call " t ":" i "</font>";}
}

{
   print example(0, $0);
   print example(1, $0);
}

# 3  
Old 09-19-2012
Hi rdrtx1, thanks for your help !

I'm not sure about <font>call, what is that ?
# 4  
Old 09-19-2012
It was just an example of output to html not a call. In the example code it looked like you were working to build html output.
# 5  
Old 09-19-2012
Nope not working on html.
So any idea how I could do that?
# 6  
Old 09-19-2012
That opens up a whole can of worms. The awk reporting language can be used to build any type of text file.
# 7  
Old 09-19-2012
You need to make your question a lot less vague. Sample input and output would be good.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

awk program date function no longer running

I work at a company that uses a program written in AWK to track various data and prepare reports. Worked with this program for three years plus (the author is no longer with us) and the YTD Production report will not return a report with a date after 123119. This is a problem. Below is the (I... (3 Replies)
Discussion started by: paulgdavitt
3 Replies

2. Shell Programming and Scripting

awk to match and apply condtions to matchijng files in directories

I am trying to merge the below awk, which compares two files looking for a match in $2 and then prints the line if two conditions are meet. awk awk 'FNR==NR{A=$0;next} ($2 in A){if($10>30 && $11>49){print A}}' F113.txt F113_tvc.bed This code was improved and provided by @RavinderSingh13,... (18 Replies)
Discussion started by: cmccabe
18 Replies

3. Shell Programming and Scripting

OFS does not apply to few records in awk

Hi , I am having a problem with my awk oneliner , which for some reason leaves the first two records Input File $ cat file1 A1:B1:C1:NoLimit M1:M2:M3:Limit A2:B2:C2,C3,C4,C5 A3:B3:C3,C4,C5,C6,C7Desired output A1,B1,C1,NoLimit M1,M2,M3,Limit A2,B2,C2 ,,,C3 ,,,C4 ,,,C5 A3,B3,C3... (5 Replies)
Discussion started by: chidori
5 Replies

4. UNIX for Dummies Questions & Answers

Run executable in one directory and then move to another successively

Hello, I have several hundred subdirectories which contain input files for a binary executable. I need to get into each of the subdirectories, run the executable and then move to the next one and repeat the process. What is the best way to do this? Arbitrarily my file structures look like... (3 Replies)
Discussion started by: Gussifinknottle
3 Replies

5. Shell Programming and Scripting

function terminating if i give input as space or no input and enter

HI i have written a script to ask input from the user. this script should promote the user for y/n input. if user enters anyother input then y/n the script promotes him again. this below code is working fine for all the cases. except for space and enter " if i give space and enter it is... (2 Replies)
Discussion started by: BHASKARREDDY006
2 Replies

6. Shell Programming and Scripting

apply record separator to multiple files within a directory using awk

Hi, I have a bunch of records within a directory where each one has this form: (example file1) 1 2 50 90 80 90 43512 98 0909 79869 -9 7878 33222 8787 9090 89898 7878 8989 7878 6767 89 89 78676 9898 000 7878 5656 5454 5454 and i want for all of these files to be... (3 Replies)
Discussion started by: amarn
3 Replies

7. Shell Programming and Scripting

How to apply sub/gsub of awk on a particular field?

I got a file with contents are of the following format ... 2007-09-28 ./.passwwd1.sh.swp 2007-11-26 ./827-55.jpg 2007-09-28 ./argcheck.pl ... I have to delete all the '-' in the "first field", ie. the date, not on the second field, which is the name of the file. i.e. required output ... (1 Reply)
Discussion started by: jaduks
1 Replies

8. UNIX for Dummies Questions & Answers

Apply Regex to input read

Hi I am very new to Unix Shell. I have a question: How do you check the input value against a reqex? For example using korn Shell: echo "Please enter revision month: \c" read revmon if $revmon | egrep -c = '{3}{2}"' then echo "OK" else echo "PLease re-enter a valid revision... (3 Replies)
Discussion started by: bonekrusher
3 Replies

9. UNIX for Dummies Questions & Answers

How to apply the awk commnad ?

Hi, I have a file and the contents of the file is say World World World Now i need to append some more words in each of the line and the the output of the file should like the one below Will India win the World Cup? Will India win the World Cup? Will India win the... (3 Replies)
Discussion started by: preethgideon
3 Replies

10. Shell Programming and Scripting

awk - input function

hello, im a newbie. how can i input data from keyboard? thanks. (3 Replies)
Discussion started by: Jariya
3 Replies
Login or Register to Ask a Question