LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 10-17-2011, 11:12 PM   #1
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Rep: Reputation: Disabled
Help fixing bash/awk code to print letters based on counter


Hi guys,

Please some help. I think I almost done with this code:

Consider file2:
Code:
<file title="Title 1 and 2">
    <report id="No. 1234">
      <f v="1">Report x</f>
      <f v="1">Report t</f>
      <f v="1">Report y</f>
      <f v="1">Report u</f>
      <f v="1">Report o</f>
      <j v="0">Report m</f>
    </report>
    <report id="No. 457">
      <f v="1">Report x</f>
      <f v="1">Report t</f>
      <f v="1">Report y</f>
      <f v="1">Report u</f>
      <f v="1">Report o</f>
      <j v="0">Report m</f>
    </report>
  </file>
and file3:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">        
        <si><t>Report</t></si>
        <si><t>Tittle</t></si>
        <si><t>Number</t></si>
        <si><t>Address</t></si>
        <si><t>Date</t></si>
        <si><t>Description</t></si>
        <si><t>Title 1 and 2</t></si>
        <si><t>Title 1</t></si>
        <si><t>No. 1234</t></si>
        <si><t>Address 1</t></si>
        <si><t>October 07, 2009</t></si>
        <si><t>Some text</t></si>
        <si><t>Title 2</t></si>
        <si><t>No. 457</t></si>
        <si><t>Address 2</t></si>
        <si><t>October 15, 2009</t></si>
        <si><t>Some text</t></si>
        <si><t>Report o</t></si>
        <si><t>Report t</t></si>
        <si><t>Report u</t></si>
        <si><t>Report x</t></si>
        <si><t>Report y</t></si>
</sst>
I've done the following code:
Code:
L=66
for i in "$(awk -F '"' ' /report id=/ {print $2}' file2 )"
do
	find "file3" -exec grep -n "${i}" {} \; | 
	awk -v Z=${L} -F ":" '{ printf("<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n",Z,$1-3)}'
	let L=L+1
done
and I get this output:
Code:
<c r="B1" t="s"><v>8</v></c>
<c r="B1" t="s"><v>13</v></c>
The issue here is that the variable "L" should be increased each time for loop is executed in order to obtain a sequence of letters.

I set initially L=66 and when is applied "printf ("%c\n"...,L)" will print "B",
when L=67 should print C,
when L=68 should print D,
and so on.

But as you can see I increase L after "find/grep/awk" command has been executed, but in the output always appear "B".
The correct output should be:
Code:
<c r="B1" t="s"><v>8</v></c>
<c r="C1" t="s"><v>13</v></c>
<c r="D1" t="s"><v>13</v></c>
.
.
.
May somebody help me how to fix my code I have so far?

Thanks in advance.

Last edited by Perseus; 10-17-2011 at 11:15 PM.
 
Old 10-18-2011, 12:43 AM   #2
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,564

Rep: Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939
Have a look at your first loop on its own and try the following:
Code:
for i in "$(awk -F '"' ' /report id=/ {print $2}' file2 )"
do
    echo $i
done
You should be able to see why you are having issues.

Also, are you aware you could just do it all in awk?
 
Old 10-18-2011, 12:49 AM   #3
David the H.
Bash Guru
 
Registered: Jun 2004
Location: Osaka, Japan
Distribution: Debian sid + kde 3.5 & 4.4
Posts: 6,823

Rep: Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949
First of all, are you using bash, sh, or another shell? It affects what can be used.

The main problem is your loop.

http://mywiki.wooledge.org/DontReadLinesWithFor

Because you quoted the command substitution, the entire block is seen as a single element, and so the loop runs only once, putting all the lines of the match inside the variable together.

And you can't just unquote it either, because then it would word-break on every space. So use a while+read loop instead.

Also, what the heck is this?
Code:
find "file3" -exec grep -n "${i}" {} \; |
You're using find to execute grep on a file that you already know exists? Why don't you grep the file directly? ( Or did you just simplify something for this example? )

Using bash, this does what you want a little more cleanly.
Code:
#!/bin/bash

L=66

while read i ; do

     awk -v Z="$L" -F ":" \
     '{ printf( "<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n" , Z , $1 - 3 ) }' \
      < <( grep -n "$i" file3 )

     (( L++ ))

done < <( awk -F '"' '/report id=/ {print $2}' file2  )
This won't run in other shells, due to the process substitutions, but that could probably be fixed by using regular pipes instead.

The entire thing could probably be done more efficiently with a single awk script, but I'll leave that up to someone else to demonstrate.

Edit: darnnit grail, why do you always beat me to the punch?

Last edited by David the H.; 10-18-2011 at 12:51 AM.
 
1 members found this post helpful.
Old 10-18-2011, 01:04 AM   #4
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
Hi grail,

Thanks for reply.

The only I can see so far is that when I echo without double quotes the output is mixed in one single line,
but I'm using double quotes, and if I do this:
Code:
for i in "$(awk -F '"' ' /report id=/ {print $2}' file2 )"
do
	echo ${i}
	find "file3" -exec grep -n "${i}" {} \; 
done
$11:        <si><t>No. 1234</t></si>
16:        <si><t>No. 457</t></si>
I get separated the matches correctly.

I'm still not see the problem I have.
 
Old 10-18-2011, 01:24 AM   #5
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by David the H. View Post
First of all, are you using bash, sh, or another shell? It affects what can be used.

The main problem is your loop.

http://mywiki.wooledge.org/DontReadLinesWithFor

Because you quoted the command substitution, the entire block is seen as a single element, and so the loop runs only once, putting all the lines of the match inside the variable together.

And you can't just unquote it either, because then it would word-break on every space. So use a while+read loop instead.
Hi David,

Thanks for the explanation. I didn't have idea about this detail, I was thinking about syntax problem or something.
With every question we learn more than expected with experts like you.

Quote:
Originally Posted by David the H. View Post
Also, what the heck is this?
Code:
find "file3" -exec grep -n "${i}" {} \; |
You're using find to execute grep on a file that you already know exists? Why don't you grep the file directly? ( Or did you just simplify something for this example? )
You are right, I made my firsts attempts using find to locate line number of a string in directory, but I need to look up only in a known file, then your suggestion applies, thanks for the correction.

Quote:
Originally Posted by David the H. View Post
Using bash, this does what you want a little more cleanly.
Code:
#!/bin/bash

L=66

while read i ; do

     awk -v Z="$L" -F ":" \
     '{ printf( "<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n" , Z , $1 - 3 ) }' \
      < <( grep -n "$i" file3 )

     (( L++ ))

done < <( awk -F '"' '/report id=/ {print $2}' file2  )
Many thanks, the code it works correctly, I'll check the link you gave me to understand better. Only I'm
not clear why you use "< <" what does it mean?

Quote:
Originally Posted by David the H. View Post
This won't run in other shells, due to the process substitutions, but that could probably be fixed by using regular pipes instead.

The entire thing could probably be done more efficiently with a single awk script, but I'll leave that up to someone else to demonstrate.
Yes, I'm using bash, I forgot to mention it. And I would like to see how to implement it in a single awk code because the execution is a little bit slow, and I have to use this code 2 or 3 times in the complete process.

Thanks for help so far

Last edited by Perseus; 10-18-2011 at 01:26 AM.
 
Old 10-18-2011, 01:39 AM   #6
David the H.
Bash Guru
 
Registered: Jun 2004
Location: Osaka, Japan
Distribution: Debian sid + kde 3.5 & 4.4
Posts: 6,823

Rep: Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949Reputation: 1949
<() is the process substitution I mentioned. And the other < in front of it is a standard file redirector. Be aware that the space between the two is necessary.

http://mywiki.wooledge.org/ProcessSubstitution

In essence it treats the output of the commands as if it were sitting in a file (actually a named pipe).

Last edited by David the H.; 10-18-2011 at 01:43 AM. Reason: clarification
 
Old 10-18-2011, 02:15 AM   #7
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by David the H. View Post
<() is the process substitution I mentioned. And the other < in front of it is a standard file redirector. Be aware that the space between the two is necessary.

http://mywiki.wooledge.org/ProcessSubstitution

In essence it treats the output of the commands as if it were sitting in a file (actually a named pipe).
Thanks for the answer and link David. I get it more clearly.

The last question, even when is related, I'm not sure if you can help me.

Depending the number of iterations that gives the awk command that controls de while loop (let say M), I need to print letters between A to Z if M<=26 (26 letters from A to Z). If M>26 and M<=702 (this is A to ZZ), I need to print letters from A to Z and then AA, AB,.. AP for example. If M>702 and M<=1024 (A to AMJ).

I have the idea to inclde within print part in awk code as follow:
Code:
L=66
M=$(awk -F '"' '/report id=/ {print $2 | "wc -l"}' file2)

for (( i=1; i<=${M}; i++ ))
   do
     awk -v Z="$L", X="$M" '{ 
     if (M<=26)
     		 printf( "Text1 %c Text2 %d Text3\n" , Z , $1 - 3 )
     else if (M>26 && M<=702)	
     		for (( k=1; k<=${M}; k++ ))
     		 	printf( "Text1 %c%c Text2 %d Text3\n" , Z , k, $1 - 3 )
     		done
     else if (M>702 && M <= 1024)
      	for (( k=1; k<=${M}; k++ )
      	  for (( j=1; j<=${M}; j++ )
     		 	  printf( "Text1 %c%c%c Text2 %d Text3\n" , Z , k, j, $1 - 3 )
     		 	done
     		done
     fi		 	  }' \
      < <( grep -n "$i" file3 )

     (( L++ ))
done
May you help me with the correct if statements within awk code please?

PS: I'm not sure if 2 external variables can be used with awk.

Many thanks for all help.

Last edited by Perseus; 10-18-2011 at 02:19 AM.
 
Old 10-18-2011, 02:40 AM   #8
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,564

Rep: Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939
Quote:
Edit: darnnit grail, why do you always beat me to the punch?
Yes but everyone prefers your more detailed explanations

So I will add there is a slight improvement you can make to the current version:
Code:
#!/bin/bash

L=66

while read i ; do

     awk -v Z="$L" -vi="$i" '$0 ~ i{ printf( "<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n" , Z , NR - 3 ) }' file3

     (( L++ ))

done < <( awk -F '"' '/report id=/ {print $2}' file2  )
And as for an awk solution, I whipped this one up:
Code:
#!/usr/bin/awk -f

BEGIN{ Z = 66 }

FNR == NR && /report id/{
    save[gensub(/^[^"]+"|".+$/,"","g")
    next
}

{
    for(s in save)
        if($) ~ s){
            printf("<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n" , Z , FNR - 3)
            Z++
        }
}
And once you make it executable you would call it like:
Code:
./awk_script file2 file3
 
Old 10-18-2011, 02:59 AM   #9
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
grail,

Thanks for take your time trying to help me.

The first code works, but with the second I receive errors executing directly and as executable.

In addition, really I would prefer an unique awk code for speed issues and smaller code,
may you help me including the correct if statements in your unique awk script (please see my last post.)

Many thanks in advance both.
 
Old 10-18-2011, 03:48 AM   #10
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,564

Rep: Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939
You will have to tell me what errors you receive as the code works with the examples provided?

As for a solution to your second requirement, I would use a function like the following:
Code:
#!/usr/bin/awk -f

BEGIN{

    print recurse(ARGV[1])
}

function recurse(num,   ret)
{
    mod = num % 26
    div = int(num / 26)

    if(mod)
        ret = sprintf("%c", mod + 64)

    if(div){
        if(div <= 26)
            ret = sprintf("%c%s", div + 64, ret)
        else
            ret = recurse(div)ret
    }

    return ret
}
To test you can do:
Code:
./recurse_script 367
 
Old 10-18-2011, 04:05 AM   #11
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
grail,

I've added the bracket in red, and still get the error below:
Code:
#!/usr/bin/awk -f

BEGIN{ Z = 66 }

FNR == NR && /report id/{
    save[gensub(/^[^"]+"|".+$/,"","g")]
    next
}

{
    for(s in save)
        if($) ~ s){
            printf("<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n" , Z , FNR - 3)
            Z++
        }
}

./awkscript file2 file3
 /cygdrive/d/
$ ./awkscript file2 file3
gawk: ./awkscript:12:         if($) ~ s){
gawk: ./awkscript:12:             ^ syntax error
The recursive script Ive tested exactly as you said me and only receive "NC".
 
Old 10-18-2011, 06:41 AM   #12
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,564

Rep: Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939
Sorry my bad It appears my copy and paste went haywire. Try this one:
Code:
#!/usr/bin/awk -f

BEGIN{ Z = 66 }

FNR == NR && /report id/{
    save[gensub(/^[^"]+"|".+$/,"","g")]
    next
}

{
    for(s in save)
        if($0 ~ s){
            printf("<c r=\"%c1\" t=\"s\"><v>%d</v></c>\n" , Z , FNR - 3)
            Z++
        }
}
 
Old 10-18-2011, 11:27 PM   #13
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
Hi grail,

This code it worked nicely. I was reading the use of functions and I was able to include the recurse function
within your last code and now I have solved 1 of 2 main problems of my script.
- The first is how to get letters recursively and print with the other text (solved)
- The 2nd is how to print the other blocks getting info from both files as in 1rst step ( I need help here)

With this I could finish my script, I hope you can help me with this because I've trying to modify your code
without success so far.

The files are the same structure, I only modified the values:

file2:
Code:
<file title="Title 1 and 2">
    <report id="No. 1234">
      <f v="1">Report x</f>
      <f v="3">Report t</f>
      <f v="1">Report y</f>
      <f v="2">Report u</f>
      <f v="1">Report o</f>
    </report>
    <report id="No. 457">
      <f v="4">Report x</f>
      <f v="0">Report t</f>
      <f v="5">Report y</f>
      <f v="7">Report u</f>
      <f v="2">Report o</f>
    </report>
  </file>
file3:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">        
        <si><t>Report</t></si>
        <si><t>Tittle</t></si>
        <si><t>Number</t></si>
        <si><t>Address</t></si>
        <si><t>Date</t></si>
        <si><t>Description</t></si>
        <si><t>Title 1 and 2</t></si>
        <si><t>Title 1</t></si>
        <si><t>No. 1234</t></si>
        <si><t>Address 1</t></si>
        <si><t>October 07, 2009</t></si>
        <si><t>Some text</t></si>
        <si><t>Title 2</t></si>
        <si><t>No. 457</t></si>
        <si><t>Address 2</t></si>
        <si><t>October 15, 2009</t></si>
        <si><t>Some text</t></si>
        <si><t>Report o</t></si>
        <si><t>Report t</t></si>
        <si><t>Report u</t></si>
        <si><t>Report x</t></si>
        <si><t>Report y</t></si>
</sst>
and I need this output:
Code:
		<row r="1" >
			<c r="B1" t="s"><v>8</v></c>
			<c r="C1" t="s"><v>13</v></c>
		</row>
		<row r="2" >
			<c r="A2" t="s"><v>17</v></c>
			<c r="B2"><v>1</v></c>
			<c r="C2"><v>4</v></c>
		</row>
		<row r="3" >
			<c r="A3" t="s"><v>18</v></c>
			<c r="B3"><v>3</v></c>
			<c r="C3"><v>0</v></c>
		</row>
		<row r="4" >
			<c r="A4" t="s"><v>19</v></c>
			<c r="B4"><v>1</v></c>
			<c r="C4"><v>5</v></c>
		</row>
		<row r="5" >
			<c r="A5" t="s"><v>20</v></c>
			<c r="B5"><v>2</v></c>
			<c r="C5"><v>7</v></c>
		</row>
		<row r="6" >
			<c r="A6" t="s"><v>21</v></c>
			<c r="B6"><v>1</v></c>
			<c r="C6"><v>2</v></c>
		</row>
As you can see, the lines in blue are obtained with your 2 codes (awk from 2 files and recurse),
I've been trying to get the others blocks using another for loop, but I only get the same print of the first block.
The code I have so far is:
Code:
awk ' BEGIN { Z = 65; cnt=1 }
FNR == NR && /<f v=/{
	save[gensub(/^[^"].+">|<.+$/,"","g")]
	jvals[gensub(/^[^"]+"|".+$/,"","g")]
    next
}
{
	
    for(s in save)
        if($0 ~ s){cnt++
            printf("<c r=\"%c%d\" t=\"s\"><v>%d</v></c>\n", Z, cnt, FNR - 3)
			for(jv in jvals)
				if($0 ~ jv){
					printf("<c r=\"%c%d\"><v>%d</v></c>\n", Z, cnt, jv)
					Z++
				}	
        }
}' file2 file3
I've added the part in red intending to get the other 5 blocks, but is not working.
May you help me to get this please?

Much appreciated any help since now.

Grettings
 
Old 10-19-2011, 03:38 AM   #14
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,564

Rep: Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939Reputation: 1939
Sorry but you will need to explain a bit further. If we assume the code in red was working, what would have been its correct output? (maybe if you highlight
in red in the file you have shown)

Also, how are the other parts of this being generated? (ie. <row r="1" >)
 
Old 10-19-2011, 04:25 AM   #15
Perseus
Member
 
Registered: Oct 2011
Posts: 164

Original Poster
Rep: Reputation: Disabled
Hi grail,

Thanks for your reply. I'll try to explain better, the explanation it could be large but the concept
in how to get the output is not.

Well, is similar at the first code you've done.

From file2 and file3 with your 1rst code we get:
Code:
<c r="B1" t="s"><v>8</v></c>
<c r="C1" t="s"><v>13</v></c>
1- The output has 2 lines because there are only 2 "report id's" in file2, it could be many.
2- Then your code looks into file3 for the line number where is present each value stored in "save" array and subtract 3.
3- Once we have step 1 and 2, print "Text1 %c1 Text2 lineNumber - 3 Text3" for all values in arrar "save".

That's was the first block and the text before first block (to open 1rst block) should be "<row r="1" >", "1" because is first block. The text after first block (to close the block) should be "</row>" (this is the same text to close all blocks)

The other blocks, from 2 up to the end need a similar process.
1- Text to open each block is <row r="i" >, where i is 2,3.. up to the end.
2- From file2, store in array2 (in alphabethical order) the unique values between <f v="1">String</f>. Those values in the sample are,
Code:
Report o
Report t
Report u
Report x
Report y
3- Once those values are stored, look up into file3 the line number of each of them and subtract 3, they are those in blue below.
4- Each line number of step 3 will be part of the first line of each block in the output as below in red (the lines in green are those obtained from your first code)
Code:
		<row r="1" >
			<c r="B1" t="s"><v>8</v></c>
			<c r="C1" t="s"><v>13</v></c>
		</row>
		<row r="2" >
			<c r="A2" t="s"><v>17</v></c>
			<c r="B2"><v>1</v></c>
			<c r="C2"><v>4</v></c>
		</row>
		<row r="3" >
			<c r="A3" t="s"><v>18</v></c>
			<c r="B3"><v>3</v></c>
			<c r="C3"><v>0</v></c>
		</row>
		<row r="4" >
			<c r="A4" t="s"><v>19</v></c>
			<c r="B4"><v>1</v></c>
			<c r="C4"><v>5</v></c>
		</row>
		<row r="5" >
			<c r="A5" t="s"><v>20</v></c>
			<c r="B5"><v>2</v></c>
			<c r="C5"><v>7</v></c>
		</row>
		<row r="6" >
			<c r="A6" t="s"><v>21</v></c>
			<c r="B6"><v>1</v></c>
			<c r="C6"><v>2</v></c>
		</row>
5- The other lines to complete block 2,3,... N are should be obtained as follow.
5.1- For each value stored in array2, look up into file2 all its related values, for example.
"Report o" is in line 20 in file3, but 20-3=17 like in 2nd block in blue,
well, when we look all ocurrences of "Report o" in file2 we get this:
Code:
      <f v="1">Report o</f>
     <f v="2">Report o</f>
and the related values for "Report o" are 1 and 2 in that order.

Now we can complete the block 2 in this way.
Code:
		<row r="2" >  # 2 because is block 2
			<c r="A2" t="s"><v>17</v></c>
			<c r="B2"><v>1</v></c>
			<c r="C2"><v>2</v></c>
		</row>
The blocks 2,3,4,5 and 6 should be calculated in same way and correct output should be:
Code:
		<row r="1" >
			<c r="B1" t="s"><v>8</v></c>
			<c r="C1" t="s"><v>13</v></c>
		</row>
		<row r="2" >
			<c r="A2" t="s"><v>17</v></c>
			<c r="B2"><v>1</v></c>
			<c r="C2"><v>2</v></c>
		</row>
		<row r="3" >
			<c r="A3" t="s"><v>18</v></c>
			<c r="B3"><v>3</v></c>
			<c r="C3"><v>0</v></c>
		</row>
		<row r="4" >
			<c r="A4" t="s"><v>19</v></c>
			<c r="B4"><v>2</v></c>
			<c r="C4"><v>7</v></c>
		</row>
		<row r="5" >
			<c r="A5" t="s"><v>20</v></c>
			<c r="B5"><v>1</v></c>
			<c r="C5"><v>4</v></c>
		</row>
		<row r="6" >
			<c r="A6" t="s"><v>21</v></c>
			<c r="B6"><v>1</v></c>
			<c r="C6"><v>5</v></c>
		</row>
I hope I've been clear enough, if not, I'll try to explain your doubts.

I hope you can help me.

Thanks so much.

Last edited by Perseus; 10-19-2011 at 04:34 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] need help adding letters to beginning of words from list using perl,bash or awk enteptain Programming 2 08-24-2011 11:15 PM
[SOLVED] Awk - finding and counting words specific letters within mora978 Programming 9 10-13-2010 10:45 AM
Is there any benefit to rewrite OSS-based code to ALSA-based code? RogueWarrior65 Linux - Software 1 08-13-2010 02:11 AM
bash-code to rename files based on config file Yalla-One Programming 20 04-14-2010 01:39 PM
sed or awk question - replace caps with small letters computera Linux - General 1 12-30-2003 04:39 AM


All times are GMT -5. The time now is 03:14 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration