02-01-2017
As RudiC said, variables that aren't supplied as arguments when an awk function is called are local variables and are initialized to 0 (if used as a number) or to an empty string (if used as a string). Variables that are supplied as arguments when a function is called are still local variables to that function but are initialized from the value supplied.
The unusual thing about the comb() function in this code is that it is called recursively and neither argument is specified the first time it is called (in the END clause), but passes itself a value for the 1st argument (but not the 2nd) when it calls itself recursively. Although there is never an assignment to the variable v in that script, the recursive calls to comb() made by comb() effectively assign a value to v by passing in a value for one argument that is based on the value passed in plus one element in the array created by reading values from the file named infile.
This User Gave Thanks to Don Cragun For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
The requirement is to extract 9 fields randomly from a 13 field CSV file to make another CSV file. While doing that, the field 7 and 8 of input csv file should comeout as field 7 of output with the value as first charecters of both 7 and 8 fields of input file(CSV file).
Presently I am using... (1 Reply)
Discussion started by: mitte_dino
1 Replies
2. UNIX for Advanced & Expert Users
Hello All,
i have two files, one of the format
A 123
B 124
C 234
D 345
And the other
A 678
B 789
C 689
D 567
I would like to combine them into one file with three columns:
A 123 678
B 124 789
C 234 689 (4 Replies)
Discussion started by: Khoomfire
4 Replies
3. Shell Programming and Scripting
$ cat key.txt
#ID1 Start
1|AA1
2|AA2
3|AA3
4|AA4
#ID1 Complete
#ID2 Start
1|BB1
2|BB2
3|BB3
#ID2 Complete
I was required this output:
AA1|BB1
AA1|BB2
AA1|BB3 (7 Replies)
Discussion started by: jkl_jkl
7 Replies
4. Shell Programming and Scripting
Hello Scrutinizer / Group ,
The shell script of awk that Scrutinizer made calculate all possible permutations in this case 3125 (5 numbers) but i want to have only the 126 possible combination. For now it does not matter the specific order of the combination numbers.
I would appreciate it you... (1 Reply)
Discussion started by: csierra
1 Replies
5. Shell Programming and Scripting
Dear all, could you please help me with awk please?
I have such input:
Input:
a d
b e
c f
The number of lines is unknown before reading the file.
I need to print possible combination between the two columns like this:
Output:
a d
b d
c d
a e
b e
c e
a f (2 Replies)
Discussion started by: irrevocabile
2 Replies
6. Shell Programming and Scripting
Hi,
I have an input file like this
a
b
c
d
I want to print all possible combinations between these records in the following way
aVSb
aVSc
aVSd
bVSc
bVSd
cVSd
VS indicates versus. All thoughts are appreciated. (5 Replies)
Discussion started by: jacobs.smith
5 Replies
7. Shell Programming and Scripting
I have a 1-column file such as the example below:
flower
cat
dog
pizza
car
book
I want to create a second column in which all possible 2-item combinations of column one are outputted in 2 tab-separated columns, such as:
flower flower
cat flower
dog flower
pizza ... (5 Replies)
Discussion started by: owwow14
5 Replies
8. UNIX for Dummies Questions & Answers
Input:
A|1
B|2
C|3
D|4
Output:
A+B|3
A+C|4
A+D|5
B+C|5
B+D|6
C+D|7
A+B+C|6
A+B+D|7
A+C+D|8
B+C+D|9
A+B+C+D|10
I only managed to get the output for pairs of $1 values (i.e. combination of length 2): (4 Replies)
Discussion started by: beca123456
4 Replies
9. Shell Programming and Scripting
Hello I have a very simple input file in which there are a list of numbers:
1
2
3
4
5
6
7
8
9
10
My actual dataset is about 200 lines long. I was wondering how to add different permutations of 3 numbers for all the numbers in the dataset. For example:
1+2+3; 3+5+7; 2+8+1; 9+3+4... (1 Reply)
Discussion started by: Rabu
1 Replies
10. Shell Programming and Scripting
Hi,
I'm trying to write an awk function that returns all possible permutations of n items chosen in a list of m items. For example, given the input "a,b,c,d,e" and 3, the function should return the following :
a a a
a a b
a a c
a b a
a b b
...
c a a
c a b
...
e e c
e e d
e e e
(125... (21 Replies)
Discussion started by: cjnwl
21 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)