Help with code


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with code
# 1  
Old 01-09-2013
Help with code

I have problem with this piece of code. I tried to use awk to send mail but it failed. Please help me

Code:
for i in $( cat /tmp/a)

do

cat /tmp/b | grep $i | awk ' {mail -s  " $2 is your new ID"   $1@companydomain.com }

done

Code:
cat a
Joe
Mic
Noah

Cat b 
Alan 2313
Joe 223
Mic 768
Charlie 565
Noah 2656

# 2  
Old 01-09-2013
Code:
cat /tmp/b | grep $i | awk ' {mail -s  " $2 is your new ID"   $1@companydomain.com }'

No need to cat and grep
Code:
awk '$0~inp {mail -s  " $2 is your new ID  $1@companydomain.com" }' inp=$i /tmp/b

Not sure if this work, but you do miss a final ' in your code
# 3  
Old 01-09-2013
It is still not working

It gives me error ( invalid char @ in expression ) !!
# 4  
Old 01-09-2013
Here are a couple of ways to do what you want:
Code:
#!/bin/ksh
echo simplififed translation from given code
while read i
do      grep $i /tmp/b | awk '{printf("echo mail -s \"%s is your new ID\" %s@companydomain.com", $2, $1)}' | ksh
done < /tmp/a

echo awk replacement
awk 'FNR == NR {
        newID[$1] = $2
        next
}
{       printf("echo mail -s \"%s is your new ID\" %s@companydomain.com\n",
                newID[$1], $1);
}' /tmp/b /tmp/a | ksh

I use ksh and I added echo commands in several places so it will show what it will do rather than actually invoke mail to send messages. You'll need to change /bin/ksh in the first line of the script to the absolute pathname of a shell on your system that processes traditional Bourne shell command syntax (e.g., bash, ksh, or sh) to run the script and then remove echo from the awk printf() command after you verify that the script does what you want.

Choose whichever code segment you prefer to use. They both should do what you want. The first segment is a simplified and corrected version of what it looked like you were trying to do. The second one produces the same results, but should be more efficient.
These 2 Users Gave Thanks to Don Cragun For This Post:
# 5  
Old 01-10-2013
Thanks Cragun . It's working now
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Linux

Go to a line of code , skip few lines of code

Hi , I have a code where i am using a infinite while loop . some thing like below while do if then #go to line 20 fi command 1; command 2; #line 20: sleep 34; (5 Replies)
Discussion started by: Paarth
5 Replies

2. Shell Programming and Scripting

Block of code replacement in Java source code through Unix script

Hi, I want to remove the following code from Source files (or replace the code with empty.) from all the source files in given directory. finally { if (null != hibernateSession && hibernateSession.isOpen()) { //hibernateSession.close(); } } It would be great if the script has... (2 Replies)
Discussion started by: hareeshram
2 Replies

3. UNIX for Dummies Questions & Answers

If ‘922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ R

01,011600033,011600033,110516,0834,2,90,,2/ 02,011600033,011103093,1,110317,0834,,2/ 03,105581,,015,+00000416418,,,901,+00000000148,,,922,+000000 00354,,/ 03,113806,,015,+00000559618,,,901,+00000000096,,,922,+000000 00621,,/ 88,902,+0000000025218,,/... (1 Reply)
Discussion started by: sgoud
1 Replies

4. Shell Programming and Scripting

translate ksh code to csh code

hi all, Can any 1 help me translate this korn shell code to C shell code : email=$(grep "^$1" $folder/config_2.txt | awk '{print $2'}) In config_2.txt the content is : which mean in korn shell , $1=groupname and $2=email address. Now i need to write in C shell script,when i set the... (2 Replies)
Discussion started by: proghack
2 Replies

5. Programming

how i prepare a c++ code(c code) for implementing my own protocol format

helo my protocol format is given below { destno,mode,no.of packet,pktsize,,pktno,textsize,CRC} description:- { is starting flag destno - 4bytes mode - 1 byte no.of pkt - 4byes pktsize - 6 bytes ... (1 Reply)
Discussion started by: amitpansuria
1 Replies

6. UNIX for Advanced & Expert Users

Return code from PL/SQL Code

Hi Guys, I was just wondering if anybody can help me with this problem. OK, how we can get a value back from PL/SQL Script (not stored procedure/function) See the below example: (for example aaa.sh) #!/bin/ksh VALUE=`sqlplus -s user/password@test_id <<EOF @xxx.sq EOF` echo $VALUE ... (7 Replies)
Discussion started by: Shaz
7 Replies
Login or Register to Ask a Question