combine data of 2 files by variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting combine data of 2 files by variable
# 8  
Old 02-19-2009
tnx again! i did some more testing. i think there is a problem with the uuencode. i changed it to us-ascii (probably a stupid thing to do) and also tried mimencode. both are not working. i get the following error

Code:
sh: mimencode: command not found
No message, no subject; hope that's ok

but the script does run (so no need for CTRL-C) and sends the email to the right persons. only there is no subject and no body. So is there an other encode i can rather use than uuencode?
# 9  
Old 02-19-2009
You can find some possibilties here:

How do I send email? - The UNIX and Linux Forums

Regards
# 10  
Old 02-19-2009
ok many tnx! it already does 99% what i want. tnx for al the help. if i find what i need i'll post it here!
# 11  
Old 02-20-2009
i finaly got the remaining 1% working. much easier than expected.

Code:
awk 'NR==FNR{a[$1]=$NF;next}
a[$1]{b[$1]=1;print $0 > $1}
END{for(i in a){if(b[i]){system("cat " i " | mail -s OpenOTRStickets "a[i])}}}
' users.txt calls.txt

I wanted to use a variable for the subject but when i do that i just get errors, and spaces between the subject words also got me errors.

I use this script for my Open Ticket Response System (OTRS) so if anybody also uses otrs and wants to use it please do. i'm not a verry good scripter so if you see something wrong in the script feel free to correct it and let me know. Its not high sience! Smilie

Short discription:
It wil query your otrs database for new, open en pending tickets and write them to a .txt file. All user accounts (agents) wil also be exported to a .txt file. the awk script then generates per user file with the open tickets per user and send it to there given e-mail adres. i added it to cron to run each monday at 8 am

Code:
#!/bin/bash

# VARIABLES

dyfw=/srv/www/htdocs/dyfw               #path to output
user="users.txt"
calls="calls.txt"

# MySQL credentials
u=<username>
p=<password>
d=<database>

# MySQL Query's
qry_usr="SELECT user_id,preferences_value FROM user_preferences WHERE 
preferences_key = 'UserEmail' ORDER BY user_id INTO OUTFILE '$dyfw/$user';"

qry_calls="SELECT user_id,tn,title FROM ticket WHERE ticket_state_id = '1' OR 
ticket_state_id = '4' OR ticket_state_id = '6' ORDER BY tn INTO OUTFILE '$dyfw/$calls';"

# Screen message
echo "MySQL Query running ..."
echo "Output open tickets to /srv/www/htdocs/$calls"
echo "Output users file to /srv/www/htdocs/$user"

# Execute SQL
mysql -u $u -p$p -D $d << eof
$qry_usr
$qry_calls
eof

mail -s "Open calls $nu" support@yourcompany.nl < $dyfw/$calls           #Complete list for the supportdesk

# Generate individual email with a list of open tickets per user
awk 'NR==FNR{a[$1]=$NF;next}
a[$1]{b[$1]=1;print $0 > $1}
END{for(i in a){if(b[i]){system("cat " i " | mail -s OpenOTRStickets "a[i])}}}
' users.txt calls.txt

rm $dyfw/*.txt

# 12  
Old 02-23-2009
a last addition to the script. i wanted to be able to delete al the open ticket files at once by a rm *.txt and Franklin52 again had the solutions:

Code:
awk 'NR==FNR{a[$1]=$NF;next}
a[$1]{b[$1]=1;print $0 > $1 ".txt"}
END{for(i in a){if(b[i]){system("cat " i ".txt | mail -s OpenOTRStickets "a[i])}}}
' users.txt calls.txt

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Automate splitting of files , scp files as each split completes and combine files on target server

i use the split command to split a one terabyte backup file into 10 chunks of 100 GB each. The files are split one after the other. While the files is being split, I will like to scp the files one after the other as soon as the previous one completes, from server A to Server B. Then on server B ,... (2 Replies)
Discussion started by: malaika
2 Replies

2. UNIX for Dummies Questions & Answers

Stack data from multiple files into one, with variable column files

Hello Gurus, Im new to scripting. Got struck with a file merge issue in Unix. Was looking for some direction and stumbled upon this site. I saw many great posts and replies but couldnt find a solution to my issue. Greatly appreciate any help.. I have three csv files -> Apex_10_Latest.csv,... (1 Reply)
Discussion started by: wamshi
1 Replies

3. Shell Programming and Scripting

Combine data out of 3 files into one new file

Hi, How can I combine the data of of three files into one new file? I try to give as much informations as possible. The three existing files are called file1 file2 and file3 the new file should named output_combined. The size of the files will be around 900 words/lines each .. but always... (5 Replies)
Discussion started by: MyMemberName
5 Replies

4. Shell Programming and Scripting

Combine data from two files base on uniq data

File 1 ID Name Po1 Po2 DD134 DD134_4A_1 NN-1 L_0_1 DD134 DD134_4B_1 NN-2 L_1_1 DD134 DD134_4C_1 NN-3 L_2_1 DD142 DD142_4A_1 NN-1 L_0_1 DD142 DD142_4B_1 NN-2 L_1_1 DD142 DD142_4C_1 NN-3 L_2_1 DD142 DD142_3A_1 NN-41 L_3_1 DD142 DD142_3A_1 NN-42 L_3_2 File 2 ( Combination of... (1 Reply)
Discussion started by: pareshkp
1 Replies

5. Shell Programming and Scripting

Combine/omit data from 2 files

i made a script on my own. this is for the inventory to all of my AWS servers, and i run it to all of my servers to get the hostname, please look at file2. Then i need some data in file3 as well,. i need to combine them #cat file1 192.10.1.41 server.age.com ###### 192.10.0.40 ssh cant... (10 Replies)
Discussion started by: kenshinhimura
10 Replies

6. Shell Programming and Scripting

How to combine the data of files?

I have a main file as follows aaa 3/2 = 1.5 aba 55+6 = 61 aca 67+8 = 75 hjk 3+3 = 67 ghd 66+30 = 96 ghj 99-3 = 96 ffg 67+3 = 70 I have 4 sub files named sub1, sub2, sub3, sub4 content of sub1 aaa 23+5 = 28 hjk 45+6 = 51 ghd 40-20 = 20 ... (2 Replies)
Discussion started by: jackevan
2 Replies

7. Shell Programming and Scripting

How to combine data from 2 file ? How to print ?

Dear friends, I am just trying to print data from 2 file,namely file_1.txt and file_1.dat (specific column of ROW 1) file_1.txt 12 13 14 15 99 AMC 69 36 89 12 13 14 15 99 AMC 69 84 -12 12 13 14 ... (6 Replies)
Discussion started by: nex_asp
6 Replies

8. Shell Programming and Scripting

get data from files combine them to a file

hi people; this is my file1.txt:192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 ... this is my file2.txt:portnames usernames maxusercap ... i want to write to file3.txt:l ./getports 192.168.1.1 'get all;l+;get . portnames;l-' l ./getports 192.168.1.1 'get all;l+;get . usernames;l-'... (4 Replies)
Discussion started by: gc_sw
4 Replies

9. Shell Programming and Scripting

How to combine data files using for loop

Hi, I have 5 files basically;namely file1.txt situated each at folder A to E respectively. I would like to extract out third column from each of these file1.txt from folder A to folder E. Also, I wanted to extract the first and second column which are common. In other words, e.g ... (6 Replies)
Discussion started by: ahjiefreak
6 Replies

10. UNIX for Dummies Questions & Answers

Recover data from 2 files then combine

Using dd or similar tools to recover data from 2 damaged cdroms, I need a way to then combine the 2 files, 1 from each cd, and make a good file: this all result from finding that certain cd's tops scratch easily even when using the "proper" cd markers, hence making the file useless, however the... (1 Reply)
Discussion started by: saint65
1 Replies
Login or Register to Ask a Question