ctrld
August 15, 2014, 8:28am
1
Hi All,
I am new to AWK programming. I have the following for loop in my awk program.
cat printhtml.awk:
BEGIN
-------- <some code here>
END{
----------<some code here>
for(N=0; N<H; N++)
{
for(M=5; M<D[N,0]; M++) print "\t" D[N,M] "";
}
-----
}
This "for" loop is part of a large awk program.
This program takes input a simple text file in below format:
The "for" loop prints from 5th line till end of the input file.
I am trying to create a html table using this variable D[N,M].
I want to print every word in a cell so that the final output creates a HTML Table code.
Using the below code I could convert a simple text file to html table but I am not able to put the same logic to my "for" loop.
awk 'BEGIN{print "<table> <table border=2>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table>"}' input_txt.txt > htmloutput.html
I have tried like this:
for(N=0; N<H; N++)
{
for(M=5; M<D[N,0]; M++) print "<table> <table border=2><tr>";
for(i=1;i<=NF;i++)
{
print "<td>\t" $i"</td>";print "</tr>" D[N,M];
}
print "</table></td>";
}
How do I pass the variable D[N,M] to a second loop to create a td class?
If you can give us sample input and expected o/p there can be simple ways to achieve desired o/p... so please post sample input and expected o/p for the same..
ctrld
August 15, 2014, 9:12am
3
Thanks for the quick reply Akshay.
Sample Input File:
Using your own inputs from previous posts I could process the lines till "text table [in bold text above]". The text table is delimited by "space".
I need to process the variable "D[N,M]" which are actually table rows.
The value of D[N,M] is :
Column1 Column2 Column3 Column4,
Row1 1 2 3 ,
Row2 3 4 B,
Row3 DEF XYZ 6,
Row4 Sample Sam1 Sam2
for each iteration of the loop.
My output needs to be as below.
Output HTML code would look like this:
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="319" valign="top">
<p>
Header 1
</p>
</td>
<td width="319" valign="top">
<p>
Header 2
</p>
</td>
</tr>
<tr>
<td width="319" valign="top">
<p>
Line1
</p>
<p>
Line2
</p>
<p>
Line3
</p>
<p>
Line4
</p>
</td>
<td width="319" valign="top">
<p>
Line1
</p>
<p>
Line2
</p>
<p>
Line3
</p>
<p>
Line4
</p>
</td>
</tr>
<tr>
<td width="319" valign="top">
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="76" valign="top">
<p>
Column1
</p>
</td>
<td width="76" valign="top">
<p>
Column2
</p>
</td>
<td width="76" valign="top">
<p>
Column3
</p>
</td>
<td width="76" valign="top">
<p>
Column4
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row1
</p>
</td>
<td width="76" valign="top">
<p>
1
</p>
</td>
<td width="76" valign="top">
<p>
2
</p>
</td>
<td width="76" valign="top">
<p>
3
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row2
</p>
</td>
<td width="76" valign="top">
<p>
3
</p>
</td>
<td width="76" valign="top">
<p>
4
</p>
</td>
<td width="76" valign="top">
<p>
B
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row3
</p>
</td>
<td width="76" valign="top">
<p>
DEF
</p>
</td>
<td width="76" valign="top">
<p>
XYZ
</p>
</td>
<td width="76" valign="top">
<p>
6
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row4
</p>
</td>
<td width="76" valign="top">
<p>
Sample
</p>
</td>
<td width="76" valign="top">
<p>
Sam1
</p>
</td>
<td width="76" valign="top">
<p>
Sam2
</p>
</td>
</tr>
</tbody>
</table>
</td>
<td width="319" valign="top">
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="76" valign="top">
<p>
Column1
</p>
</td>
<td width="76" valign="top">
<p>
Column2
</p>
</td>
<td width="76" valign="top">
<p>
Column3
</p>
</td>
<td width="76" valign="top">
<p>
Column4
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row1
</p>
</td>
<td width="76" valign="top">
<p>
1
</p>
</td>
<td width="76" valign="top">
<p>
2
</p>
</td>
<td width="76" valign="top">
<p>
3
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row2
</p>
</td>
<td width="76" valign="top">
<p>
3
</p>
</td>
<td width="76" valign="top">
<p>
4
</p>
</td>
<td width="76" valign="top">
<p>
B
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row3
</p>
</td>
<td width="76" valign="top">
<p>
DEF
</p>
</td>
<td width="76" valign="top">
<p>
XYZ
</p>
</td>
<td width="76" valign="top">
<p>
6
</p>
</td>
</tr>
<tr>
<td width="76" valign="top">
<p>
Row4
</p>
</td>
<td width="76" valign="top">
<p>
Sample
</p>
</td>
<td width="76" valign="top">
<p>
Sam1
</p>
</td>
<td width="76" valign="top">
<p>
Sam2
</p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>