02-08-2008
awk and fuction (recursion) !! Urgent !!
Hey all,
Could you please check following way of writing awk is correct or not ???
-----------------------------------------------------------
Quote:
pattern= "mqsi[admtspr]"
cat tempgrep.txt | \
while read ppid
do
awk '{
recurcive_fun(ppid, pattern)
function recurcive_fun(n, pattern)
{
awk '{ if ($2~n && $1~pattern){
n=$3
recurcive_fun(n, pattern)}
else{
if ($2~n && $1!~pattern){
print $1 >> "tempmail.txt"
break
}
else {next}
}
}' tempfind.txt
}
}'
done
-----------------------------------------------------------------
Its recursion being called.
tempgrep.txt has :
462948
1311040
880922
tempfind.txt has :
t2589vg 880922 462948 09:57:07 -ksh
mqsiadm 1298856 1311040 09:57:56 -ksh
mqsiadm 1311040 880922 09:57:19 -ksh
Please suggust/correct the script(if wrong) !!
Thanks
Varun
Last edited by varungupta; 02-08-2008 at 03:39 PM..
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi All, :confused:
I have the following code.
var=' '
sqlplus user/pass@DB <<EOF
whenever sqlerror exit 1
select package.func() into $var from dual;
EOF
echo $var
But, this code does not work to display the value returned by the oracle function. Do we have to bind variables before... (3 Replies)
Discussion started by: rahulrathod
3 Replies
2. Programming
Dear all,
In my code,i am planning to use memset function to re-initialise an array before populating it everytime. Will using memset function be an overload to the program? (3 Replies)
Discussion started by: ranj@chn
3 Replies
3. Shell Programming and Scripting
i have a record like
1,23423,4545,6767,89898,3434,121212,123123,322
2,23233,3434,4545,56566,rxrx,e344343,343434,3434
1,23223,336,78787,78787,654,6767677,6877989,7878
i want to check the $6 field if its start with any letters, i want to move this record to some other file and keep rest of... (2 Replies)
Discussion started by: readycpbala
2 Replies
4. Shell Programming and Scripting
Thank everyone advanced.
Would you please tell me how to use the shell variable in the awk body?
I try follows but they all do not work, pls kindly help me:
1.
str=`cat file2`
awk 'BEGIN{print("'"$str"'"}' file1 > file3
2.
str=`cat file2`
awk 'BEGIN{print(ENVIRON}' file1 > file3
3.... (3 Replies)
Discussion started by: summer_cherry
3 Replies
5. UNIX for Dummies Questions & Answers
Hi
i am trying to read a line from a file and add the values in a new file
eg
Input file
a1|a2|a3|a4|a5|a6
b1|b2|b3|b4|b5|b6
c1|c2|c3|c4|c5|c6
expected output
File one
a1|a2|a3
b1|b2|b3
c1|c2|c3 (3 Replies)
Discussion started by: rysh
3 Replies
6. Shell Programming and Scripting
Hi All,
I have a perl script(1.pl) that calls a c function defined in another file sample.c
#!/usr/bin/perl
my $re = 1;
my @s = `/home/PERL_SCRIPTING/Rough/sample pline $re 10`;
print "$_" foreach(@s);
The sample.c is as bwlow:
# include <stdio.h>
int pline(int, int);... (4 Replies)
Discussion started by: jisha
4 Replies
7. Shell Programming and Scripting
Hi
I have a scenario where i have a file name as
abcd_To_hfgh.20090456778_1.dat
I will get the filename as parameter
and i need a string in between second _ and first . i.e i need hfgh in this case.
Please help me with the script. This may not be awk script even if it can be... (2 Replies)
Discussion started by: dsdev_123
2 Replies
8. Shell Programming and Scripting
Hi All,I need to convert following field from a file
L2578978CLC/576/116804 => L2578978CLC/00000576/00168304
i have to append Zeros in the third and fourth number after slash / in the above string (total length of number should be 8).
means L2578978CLC/576/116804 should be converted to... (3 Replies)
Discussion started by: unknown123
3 Replies
9. Shell Programming and Scripting
Hi,
I've written a perl script with a nested foreach statement in it.
I have the line
code:
foreach $argn(@arguments) {
foreach $location (@path) {
system("find $location -name \"$argn\" -print >> results.txt");
... (2 Replies)
Discussion started by: tchoruma
2 Replies
LEARN ABOUT MOJAVE
set_color
set_color(1) fish set_color(1)
NAME
set_color - set_color - set the terminal color
set_color - set the terminal color
Synopsis
set_color [-v --version] [-h --help] [-b --background COLOR] [COLOR]
Description
Change the foreground and/or background color of the terminal. COLOR is one of black, red, green, brown, yellow, blue, magenta, purple,
cyan, white and normal.
o -b, --background Set the background color
o -c, --print-colors Prints a list of all valid color names
o -h, --help Display help message and exit
o -o, --bold Set bold or extra bright mode
o -u, --underline Set underlined mode
o -v, --version Display version and exit
Calling set_color normal will set the terminal color to whatever is the default color of the terminal.
Some terminals use the --bold escape sequence to switch to a brighter color set. On such terminals, set_color white will result in a grey
font color, while set_color --bold white will result in a white font color.
Not all terminal emulators support all these features. This is not a bug in set_color but a missing feature in the terminal emulator.
set_color uses the terminfo database to look up how to change terminal colors on whatever terminal is in use. Some systems have old and
incomplete terminfo databases, and may lack color information for terminals that support it. Download and install the latest version of
ncurses and recompile fish against it in order to fix this issue.
Version 1.23.1 Sun Jan 8 2012 set_color(1)