Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Convert Txt file to HTML table and email Post 302965942 by RavinderSingh13 on Friday 5th of February 2016 12:42:00 AM
Old 02-05-2016
Hello hitmanjd,

Welcome to forums. Please use code tags as per forum rules for commands/inputs/codes which you are using into your posts. Could you please try following and let me know if this helps you.
Code:
cat send_html_email.ksh
PWD=`pwd`
OUTPUT_FILE=$PWD"/Output_file"
INPUT_FILE=$PWD"/Input_file"
MAILFROM=ravinder_singh@singh_is_king.com
MAILTO=ravinder_singh@singh_is_king.com
SUBJECT="Html format report in email"
echo "<html>" > $OUTPUT_FILE
echo "<title>" >> $OUTPUT_FILE
echo "A Test script." >> $OUTPUT_FILE
echo "</title>" >> $OUTPUT_FILE
echo "<table border="4">" >> $OUTPUT_FILE
echo "<tr>" >> $OUTPUT_FILE
echo "<th>" >> $OUTPUT_FILE
echo "Application Name" >> $OUTPUT_FILE
echo "</th>" >> $OUTPUT_FILE
echo "<th>" >> $OUTPUT_FILE
echo "Application Status" >> $OUTPUT_FILE
echo "</th>" >> $OUTPUT_FILE
echo "</tr>" >> $OUTPUT_FILE
i=0
while read f1 f2 f3
do
        let "i = i + 1"
        if [[ $i == 1 ]]
        then
                continue;
        fi
        echo "<tr>" >> $OUTPUT_FILE
        echo "<td>" >> $OUTPUT_FILE
        echo $f1 $f2 >> $OUTPUT_FILE
        echo "</td>" >> $OUTPUT_FILE
        echo "<td>" >> $OUTPUT_FILE
        echo $f3 >> $OUTPUT_FILE
        echo "</td>" >> $OUTPUT_FILE
        echo "</tr>" >> $OUTPUT_FILE
done < "$INPUT_FILE"
echo "</table>" >> $OUTPUT_FILE
echo "</body>" >> $OUTPUT_FILE
echo "</html>" >> $OUTPUT_FILE
  
sendmail_touser() {
cat - ${OUTPUT_FILE} <<EOF | /usr/sbin/sendmail -oi -t
From: ${MAILFROM}
To: ${MAILTO}
Subject: $SUBJECT
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
EOF
}
sendmail_touser

Thanks,
R. Singh
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Format txt file as html table

I have a short time to solve a problem, so I need some help. I've searched the forum, but I couldn't find a solution to my problem. I made a script to filter some text and now I have a new requirement to make it available as html table. Problem is that I more than one files with different set... (2 Replies)
Discussion started by: tetreb
2 Replies

2. Shell Programming and Scripting

Is it possible to convert text file to html table using perl

Hi, I have a text file say file1 having data like ABC c:/hm/new1 Dir DEF d:/ner/d sd ...... So i want to make a table from this text file, is it possible to do it using perl. Thanks in advance Sarbjit (1 Reply)
Discussion started by: sarbjit
1 Replies

3. Shell Programming and Scripting

Convert shell script output txt file to html table

Hi, I have script which generates the output as below: Jobname Date Time Status abc 12/9/11 17:00 Completed xyz 13/9/11 21:00 Running I have the output as a text file. I need to convert it into a HTML Table and sent it thru email ... (6 Replies)
Discussion started by: a12ka4
6 Replies

4. UNIX and Linux Applications

Ssmtp -t < /path/to/the/message.txt (How to format message.txt for html email)

ssmtp has been running well under Kubuntu 12.04.1 for plain text messages. I would like to send html messages with ssmtp -t < /path/to/the/message.txt, but I cannot seem to get the message.txt file properly formatted. I have tried various charsets, Content-Transfer-Encoding, rearranging the... (0 Replies)
Discussion started by: Ronald B
0 Replies

5. Shell Programming and Scripting

Need to convert output.txt into html file

I have output.txt file generated through shell scripts which need convert in tabular format using html can you please help me output.txt Token State Date1 Date2 Description Name 34567 open 27/06/13 28/06/13 ... (5 Replies)
Discussion started by: vijay_rajni
5 Replies

6. Shell Programming and Scripting

SQL query output convert to HTML & send as email body

Hi , I have a sql query in the unix script ,whose output is shown below.I want to convert this output to HTML table format & send email from unix with this table as email body. p_id src_system amount 1 A 100 2 B 200 3 C ... (3 Replies)
Discussion started by: jagadeeshn04
3 Replies

7. Shell Programming and Scripting

HTML table in email body using C Shell

I am using Sun Solaris ver. 5.10 and trying to send an HTML table in email body using mail command in C shell script. I tried following commands:- #1 mail -m "MIME-Version: 1.0;Content-type:text/html;charset=UTF-8" receiver@mail.com < file.html #2 mail -m "Content-type: text/html;" -s "This... (4 Replies)
Discussion started by: jnrohit2k
4 Replies

8. Shell Programming and Scripting

Regarding guidance related to HTML table in email body

Hello All, I have a query here. I am sending an HTML table(which I am creating it by a call to REST API, in a LINUX box) and from there I have to send it into an email. So following are the poins on same: As data is not static so it is writing Dynamic data and creating HTML file. There is... (9 Replies)
Discussion started by: RavinderSingh13
9 Replies

9. Shell Programming and Scripting

Convert shell script output txt file to html table

My concnern related to the post -Convert shell script output txt file to html table, in this how to print the heading as color. awk 'BEGIN{print "<table>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table>"}' <filename> (8 Replies)
Discussion started by: sarajobmai
8 Replies

10. Shell Programming and Scripting

Postgre Query results as Email HTML table

Hello, I'm trying to send email from Greenplum query results as HTML table with status Red/Green Select Server, Last_Date from Table; Results Server, Last_Date Prod, 2018-04-09 Final email Output in HTML format Server Status LastDate Prod GREEN(BOX) 2018-04-09 (if... (2 Replies)
Discussion started by: krux_rap
2 Replies
DBIx::Simple::Examples(3)				User Contributed Perl Documentation				 DBIx::Simple::Examples(3)

NAME
DBIx::Simple::Examples - Examples of how to use DBIx::Simple DESCRIPTION
DBIx::Simple provides a simplified interface to DBI, Perl's powerful database module. EXAMPLES
General #!/usr/bin/perl -w use strict; use DBIx::Simple; # Instant database with DBD::SQLite my $db = DBIx::Simple->connect('dbi:SQLite:dbname=file.dat') or die DBIx::Simple->error; # Connecting to a MySQL database my $db = DBIx::Simple->connect( 'DBI:mysql:database=test', # DBI source specification 'test', 'test', # Username and password { RaiseError => 1 } # Additional options ); # Using an existing database handle my $db = DBIx::Simple->connect($dbh); # Abstracted example: $db->query($query, @variables)->what_you_want; $db->commit or die $db->error; Simple Queries $db->query('DELETE FROM foo WHERE id = ?', $id) or die $db->error; for (1..100) { $db->query( 'INSERT INTO randomvalues VALUES (?, ?)', int rand(10), int rand(10) ) or die $db->error; } $db->query( 'INSERT INTO sometable VALUES (??)', $first, $second, $third, $fourth, $fifth, $sixth ); # (??) is expanded to (?, ?, ?, ?, ?, ?) automatically Single row queries my ($two) = $db->query('SELECT 1 + 1')->list; my ($three, $four) = $db->query('SELECT 3, 2 + 2')->list; my ($name, $email) = $db->query( 'SELECT name, email FROM people WHERE email = ? LIMIT 1', $mail )->list; Or, more efficiently: $db->query('SELECT 1 + 1')->into(my $two); $db->query('SELECT 3, 2 + 2')->into(my ($three, $four)); $db->query( 'SELECT name, email FROM people WHERE email = ? LIMIT 1', $mail )->into(my ($name, $email)); Fetching all rows in one go One big flattened list (primarily for single column queries) my @names = $db->query('SELECT name FROM people WHERE id > 5')->flat; Rows as array references for my $row ($db->query('SELECT name, email FROM people')->arrays) { print "Name: $row->[0], Email: $row->[1] "; } Rows as hash references for my $row ($db->query('SELECT name, email FROM people')->hashes) { print "Name: $row->{name}, Email: $row->{email} "; } Fetching one row at a time Rows into separate variables { my $result = $db->query('SELECT name, email FROM people'); $result->bind(my ($name, $email)); while ($result->fetch) { print "Name: $name, Email: $email "; } } or: { my $result = $db->query('SELECT name, email FROM people'); while ($result->into(my ($name, $email))) { print "Name: $name, Email: $email "; } } Rows as lists { my $result = $db->query('SELECT name, email FROM people'); while (my @row = $result->list) { print "Name: $row[0], Email: $row[1] "; } } Rows as array references { my $result = $db->query('SELECT name, email FROM people'); while (my $row = $result->array) { print "Name: $row->[0], Email: $row->[1] "; } } Rows as hash references { my $result = $db->query('SELECT name, email FROM people'); while (my $row = $result->hash) { print "Name: $row->{name}, Email: $row->{email} "; } } Building maps (also fetching all rows in one go) A hash of hashes my $customers = $db -> query('SELECT id, name, location FROM people') -> map_hashes('id'); # $customers = { $id => { name => $name, location => $location } } A hash of arrays my $customers = $db -> query('SELECT id, name, location FROM people') -> map_arrays(0); # $customers = { $id => [ $name, $location ] } A hash of values (two-column queries) my $names = $db -> query('SELECT id, name FROM people') -> map; # $names = { $id => $name } EXAMPLES WITH SQL
::Interp If you have SQL::Interp installed, you can use the semi-abstracting method "iquery". This works just like "query", but with parts of the query interleaved with the bind arguments, passed as references. You should read SQL::Interp. These examples are not enough to fully understand all the possibilities. The following examples are based on the documentation of SQL::Interp. my $result = $db->iquery('INSERT INTO table', \%item); my $result = $db->iquery('UPDATE table SET', \%item, 'WHERE y <> ', 2); my $result = $db->iquery('DELETE FROM table WHERE y = ', 2); # These two select syntax produce the same result my $result = $db->iquery('SELECT * FROM table WHERE x = ', $s, 'AND y IN', @v); my $result = $db->iquery('SELECT * FROM table WHERE', {x => $s, y => @v}); for ($result->hashes) { ... } Use a syntax highlighting editor for good visual distinction. If you need the helper functions "sql" and "sql_type", you can import them with "use SQL::Interp;" EXAMPLES WITH SQL
::Abstract If you have SQL::Abstract installed, you can use the abstracting methods "select", "insert", "update", "delete". These work like "query", but instead of a query and bind arguments, use abstracted arguments. You should read SQL::Abstract. These examples are not enough to fully understand all the possibilities. The SQL::Abstract object is available (writable) through the "abstract" property. The following examples are based on the documentation of SQL::Abstract. Overview If you don't like the defaults, just assign a new object: $db->abstract = SQL::Abstract->new( case => 'lower', cmp => 'like', logic => 'and', convert => 'upper' ); If you don't assign any object, one will be created automatically using the default options. The SQL::Abstract module is loaded on demand. my $result = $db->select($table, @fields, \%where, @order); my $result = $db->insert($table, \%fieldvals || @values); my $result = $db->update($table, \%fieldvals, \%where); my $result = $db->delete($table, \%where); for ($result->hashes) { ... } Complete examples select my @tickets = $db->select( 'tickets', '*', { requestor => 'inna', worker => ['nwiger', 'rcwe', 'sfz'], status => { '!=', 'completed' } } )->hashes; insert If you already have your data as a hash, inserting becomes much easier: $db->insert('people', \%data); Instead of: $db->query( q[ INSERT INTO people (name, phone, address, ...) VALUES (??) ], @data{'name', 'phone', 'address', ... } ); update, delete $db->update( 'tickets', { worker => 'juerd', status => 'completed' }, { id => $id } ) $db->delete('tickets', { id => $id }); where The "where" method is not wrapped directly, because it doesn't generate a query and thus doesn't really have anything to do with the database module. But using the "abstract" property, you can still easily access it: my $where = $db->abstract->where({ foo => $foo }); EXAMPLES WITH DBIx::XHTML_Table If you have DBIx::XHTML_Table installed, you can use the result methods "xto" and "html". You should read DBIx::XHTML_Table. These examples are not enough to fully understand what is going on. When reading that documentation, note that you don't have to pass hash references to DBIx::Simple's methods. It is supported, though. DBIx::XHTML_Table is loaded on demand. Overview To print a simple table, all you have to do is: print $db->query('SELECT * FROM foo')->html; Of course, anything that produces a result object can be used. The same thing using the abstraction method "select" would be: print $db->select('foo', '*')->html; A DBIx::XHTML_Table object can be generated with the "xto" (XHTML_Table Object) method: my $table = $db->query($query)->xto; Passing attributes DBIx::Simple sends the attributes you pass to "html" both to the constructor and the output method. This allows you to specify both HTML attributes (like "bgcolor") and options for XHTML_Table (like "no_ucfirst" and "no_indent") all at once: print $result->html( tr => { bgcolor => [ qw/silver white/ ] }, no_ucfirst => 1 ); Using an XHTML_Table object Not everything can be controlled by passing attributes. For full flexibility, the XHTML_Table object can be used directly: my $table = $db->query($query)->xto( tr => { bgcolor => [ qw/silver white/ ] } ); $table->set_group('client', 1); $table->calc_totals('credit', '%.2f'); print $table->output({ no_ucfirst => 1 }); # note the {}! EXAMPLES WITH Text::Table "$result->text("neat")" Neither neat nor pretty, but useful for debugging. Uses DBI's "neat_list" method. Doesn't display column names. '1', 'Camel', 'mammal' '2', 'Llama', 'mammal' '3', 'Owl', 'bird' '4', 'Juerd', undef "$result->text("table")" Displays a simple table using ASCII lines. id | animal | type ---+--------+------- 1 | Camel | mammal 2 | Llama | mammal 3 | Owl | bird 4 | Juerd | "$result->text("box")" Displays a simple table using ASCII lines, with an outside border. +----+--------+--------+ | id | animal | type | +----+--------+--------+ | 1 | Camel | mammal | | 2 | Llama | mammal | | 3 | Owl | bird | | 4 | Juerd | | +----+--------+--------+ For "table" and "box", you need Anno Siegel's Text::Table module installed. AUTHOR
Juerd Waalboer <juerd@cpan.org> <http://juerd.nl/> SEE ALSO
DBIx::Simple, SQL::Abstract perl v5.16.3 2010-12-03 DBIx::Simple::Examples(3)
All times are GMT -4. The time now is 11:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy