Can anyone guide me with the BASH scripting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Can anyone guide me with the BASH scripting
# 1  
Old 04-06-2010
Bug Can anyone guide me with the BASH scripting

Hi,

I am new to BASH script. I am working on the script to parsing the log message . the followings are my task:

1. Read the multiple log files, such as N1-2009-10-01, N2-2009-10-2, N3-2010-01-02....
2. Parse the specific message, such as "aaaa"
3. If found the "aaaa" message in the log file and export to excel file

PS. i use zgrep:
Code:
zgrep -a --text "aaaa" * > /home/TTS/myfile

and inside file looks like:

Code:
N3.2009-11-26-03-05-02.console.log.tar.gz:2009-11-25 20:12:57,429 - aaaa
N4.2009-11-29-00-25-03.console.log.tar.gz:2009-11-28 10:42:18,209 - aaaa
N6.2009-12-01-10-05-02.console.log.tar.gz:2009-12-01 10:00:24,902 - aaaa

How can i use the script export these information into excel file into three columns, like
Code:
N3  2009-11-25 20:12:57 aaaa
N4  2009-11-28 10:42:18 aaaa
N6  2009-12-01 10:00:24 aaaa


Thanks

Last edited by Franklin52; 04-06-2010 at 02:12 PM.. Reason: Please use code tags.
# 2  
Old 04-06-2010
Try this:
Code:
zgrep -a --text "aaaa" * |
awk -F"[ .,]" '{sub(".*:","",$6); sub(",.*","",$7); print $1,$6,$7,$10}'

# 3  
Old 04-06-2010
You could pipe it to Perl as well. Here's the one-liner run on the file -

Code:
$
$
$ cat myfile
N3.2009-11-26-03-05-02.console.log.tar.gz:2009-11-25 20:12:57,429 - aaaa
N4.2009-11-29-00-25-03.console.log.tar.gz:2009-11-28 10:42:18,209 - aaaa
N6.2009-12-01-10-05-02.console.log.tar.gz:2009-12-01 10:00:24,902 - aaaa
$
$ # create a "tsv" (tab-separated values) file using Perl
$ perl -lne '/^(.*?)\..*?:(.*?),.*?- (\w+)$/ && print "$1\t$2\t$3"' myfile
N3      2009-11-25 20:12:57     aaaa
N4      2009-11-28 10:42:18     aaaa
N6      2009-12-01 10:00:24     aaaa
$
$

tyler_durden
# 4  
Old 04-06-2010
Thanks.

One more question here.

I tried that the NEW file seems NOT automatically fits in 3 columns in excel. I have to use "text to column" in excel . is there anyway to do this through the script?
# 5  
Old 04-06-2010
Quote:
Originally Posted by shyork2001
...
I tried that the NEW file seems NOT automatically fits in 3 columns in excel. I have to use "text to column" in excel . is there anyway to do this through the script?
If you are talking about the awk script, then try to print a tab-delimited output. I believe a single comma prints a single space in awk.

A tab-delimited text file should open up as an Excel worksheet with column-splitted data without requiring you to do anything else.

tyler_durden
# 6  
Old 04-06-2010
I tried the this , and still not working

zgrep -a --text "aaaa" * | awk -F"[ .,]" '{sub(".*:","",$6); sub(",.*","",$7); print $1,$6,$7,$10}' > /home/tss/myfile
# 7  
Old 04-06-2010
Quote:
Originally Posted by durden_tyler
If you are talking about the awk script, then try to print a tab-delimited output. I believe a single comma prints a single space in awk.
A comma a 'print' statement prints a value of the of the 'OFS' variable - by default it's a single space.
Quote:
Originally Posted by durden_tyler
A tab-delimited text file should open up as an Excel worksheet with column-splitted data without requiring you to do anything else.

tyler_durden


---------- Post updated at 03:45 PM ---------- Previous update was at 03:42 PM ----------

Quote:
Originally Posted by shyork2001
I tried the this , and still not working

zgrep -a --text "aaaa" * | awk -F"[ .,]" '{sub(".*:","",$6); sub(",.*","",$7); print $1,$6,$7,$10}' > /home/tss/myfile
try this if you need a csv:
Code:
zgrep -a --text "aaaa" * | awk -F"[ .,]" '{sub(".*:","",$6);  sub(",.*","",$7); print $1,$6,$7,$10}' OFS=',' > /home/tss/myfile

Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bash scripting

same script: 1- i am using grep to find a string called: tinker panic 0 in a file /etc/ntp.conf if the string is not there, i want to add the strings in /etc/ntp.conf file in the first line of the file. if not do nothing or exit. 2- also i want to add # in front of the following lines in... (0 Replies)
Discussion started by: lamoul
0 Replies

2. Shell Programming and Scripting

bash scripting

Hello everyone!!!! I am new to this forum ...I have a problem. And I thought that you are expert :) so you can help me with that... I have a text file with maaany lines. Every line begins with something like that: <http aksjfskcuhrf kushkfsnus> <http sxnfrksehfsd gsdg r> I don't know if every... (16 Replies)
Discussion started by: mary_elen
16 Replies

3. Shell Programming and Scripting

bash scripting help

hi all i'm trying to get a script working upon connection with pppd According to docu this happens ina clean environment with a couple of variables set, namely $1,$2,... To be able to execute the statements i included a path statement but i think i'm running into trouble with the variables -... (6 Replies)
Discussion started by: jimjones
6 Replies

4. UNIX for Dummies Questions & Answers

Should I do a bash scripting course?!

Hello, I'm confused (oh, yes). I'm running Linux at work. When I type 'echo $SHELL' I am told that I'm running tcsh. In /bin I note that both tcsh and bash are listed. Question 1: Can I swap to run bash rather than tcsh and, if so, how will this affect my system? Is there any advantage to... (6 Replies)
Discussion started by: macpete
6 Replies

5. UNIX for Dummies Questions & Answers

comprehensive guide for shell scripting programming

Dear all Any recommendation for this, web-site or publisher? (3 Replies)
Discussion started by: trynew
3 Replies
Login or Register to Ask a Question