Another method for this snippet


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Another method for this snippet
# 8  
Old 08-07-2013
it doesnt work in my case. is this linux distro dependent? i am running redhat. i need to get the column tab delimited.

Code:
[oracle@server logs]$ awk '{print $1}' /opt/application.log
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
2013/08/07
[oracle@server logs]$

[oracle@server logs]$ awk -F"\t" '{print $1}' /opt/application.log
2013/08/07 04:48:36:685
2013/08/07 04:48:36:685
2013/08/07 04:53:36:514
2013/08/07 04:55:16:505
2013/08/07 05:07:36:505
2013/08/07 05:07:36:505
2013/08/07 05:07:36:505
2013/08/07 05:07:36:505
2013/08/07 05:07:36:505
2013/08/07 05:07:36:505
2013/08/07 05:07:36:505
2013/08/07 05:07:38:403
2013/08/07 05:07:38:642
[oracle@server logs]$

# 9  
Old 08-07-2013
Oh, I see. You have date-time with a space, so you need tab. My mistake.

You can specify a field separator with the while loop too:
Code:
while IFS="\t" read ...; do
  ...
done < file

(if "\t" does not work, use a literal tab, or press Ctrl-V then Ctrl-I)
# 10  
Old 08-07-2013
actually there are many spaces in the input file so i will need to work on using tabs. see 1 line sample below.

Code:
2013/08/07 05:07:38:642 CRITICAL        Oracle       Oracle:server.ecs.testpoc.com:Customer D: Oracle Database Server 11G - Basic:Database Counter: Instance Status        server.ecs.testpoc.com   Metric 'Alert has no defined Metric' changed status from 'good' to 'error'      Metric 'Alert has no defined Metric' crossed 'back to default' with value 'null'        DatabaseCounter Alert has no defined Metric     server.ecs.testpoc.com:287a96af-9af1-4431-b689-e1293f612786:Alert has no defined Metric::CRITICAL        server.ecs.testpoc.com:287a96af-9af1-4431-b689-e1293f612786:Alert has no defined Metric  CiHint:@@server.ecs.testpoc.com  ::null  Oracle@@server.ecs.testpoc.com                http://server.ecs.testpoc.com:8080/Oracle/servlet/Main?activeid=200708448&activerighttop=dashboard&view=new&dashboard_view=Details&dashboard_model=true&sis_silent_login_type=encrypted&login=%28sisp%29knjxbqDESkAn5mKcvgTmj%2FyFwHH5Ke3m%0D%0A&password=%28sisp%29EzqXbIXEFD%2BJbE1N1T%2FZlELjja0DKaN7%0D%0A        OracleMonitor:OracleDatabaseServer11GBasic:200708448 1

This actually breaks while loop limit which can accept 9 variables.
# 11  
Old 08-07-2013
Not really. You could just use more parameters:
Code:
while read DATE TIME ...

# 12  
Old 08-07-2013
nah, i cant do that the error messages will have variable spacing in them, especially for long or short error messages. so the only way is to delimit using tabs.

---------- Post updated at 07:03 PM ---------- Previous update was at 06:44 PM ----------

none of the above works, tried with IFS="\t", literal tab control v and control i. hmmm
# 13  
Old 08-07-2013
Please post your code.

Also paste the output of:
Code:
$ head -1 file | awk 1 RS='\t'

(where file is the input file)
# 14  
Old 08-07-2013
sure. here is the input file

Code:
[oracle@server logs]$ head -1 /opt/application.log | awk 1 RS='\t'
2013/08/07 04:48:36:685
NORMAL
Oracle
Oracle:server.testpoc.com:Health:Connection Statistics Monitor
server.testpoc.com
Metric 'SSH connections. Total failed to open V2' changed status from 'warning' to 'good'
Metric 'SSH connections. Total failed to open V2' crossed 'back to default' with value '0'
Connection Statistics Monitor
SSH connections. Total failed to open V2
server.testpoc.com::SSH connections. Total failed to open V2:Unknown:NORMAL
server.testpoc.com::SSH connections. Total failed to open V2
CiHint:@@server.testpoc.com
Unknown:Unknown:0
Oracle@@server.testpoc.com
Oracle:server.testpoc.com:SSH connections. Total failed to open V2
http://server.testpoc.com:8080/Oracle/servlet/Main?activeid=10006&activerighttop=dashboard&view=new&dashboard_view=Details&dashboard_model=true&sis_silent_login_type=encrypted&login=%28sisp%29knjxbqDESkAn5mKcvgTmj%2FyFwHH5Ke3m%0D%0A&password=%28sisp%29EzqXbIXEFD%2BJbE1N1T%2FZlELjja0DKaN7%0D%0A
OracleMonitor:__Health__:10006
1






[oracle@server logs]$

im echoing first column

Code:
while IFS="     " read line timestamp severity x msg1 server y z msg2
do
        message="$msg1 $msg2"
        echo "$timestamp"

done < /opt/application.log

exit 0

Code:
[oracle@server logs]$ ./Log_converter.sh
NORMAL
NORMAL
MINOR
MINOR
NORMAL
NORMAL
CRITICAL
NORMAL
NORMAL
NORMAL
NORMAL
CRITICAL
CRITICAL
NORMAL
CRITICAL
MINOR
NORMAL
MINOR
MINOR
CRITICAL
MINOR
CRITICAL
NORMAL
NORMAL
CRITICAL
NORMAL
NORMAL
NORMAL
NORMAL
CRITICAL
CRITICAL
[oracle@server logs]$

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Syntax error in code snippet

Hello, I am attaching a code snippet. Some of the variables are set in earlier code like count, arrays harr1, harr2, barr1 and barr2. The code below gives syntax errors. I am very new to Bash. for (( i=0; i<=$(( $count -1 )); i++ )) do #Now read the element at barr2 location i. Also find... (2 Replies)
Discussion started by: ngabrani
2 Replies

2. UNIX for Dummies Questions & Answers

What is this perl snippet is doing?

perl -e '@stat=stat("/etc/passwd");$now_string=localtime($stat);print $ARGV.":$now_string\n"' ./file_name Please if anyone can describe it. Thanks in advance (1 Reply)
Discussion started by: ezee
1 Replies

3. Solaris

svc:/network/physical:default: Method "/lib/svc/method/net-physical" failed with exit status 96. [ n

After a memory upgrade all network interfaces are misconfigued. How do i resolve this issue. Below are some out puts.thanks. ifconfig: plumb: SIOCLIFADDIF: eg000g0:2: no such interface # ifconfig eg1000g0:2 plumb ifconfig: plumb: SIOCLIFADDIF: eg1000g0:2: no such interface # ifconfig... (2 Replies)
Discussion started by: andersonedouard
2 Replies

4. UNIX for Dummies Questions & Answers

Script required to truncate all the lines except a specific snippet.

Hi, I have a file with the following structure. XXXXX........... YYYYY........... ................. .................. ZZZZZZ...... qwerty_start.............. .................. ................. .................. querty_end................ .............................. (3 Replies)
Discussion started by: abinash
3 Replies

5. Shell Programming and Scripting

Script required to extract a specific snippet from the entire file.

Hi, I have a file with the following structure. XXXXX........... YYYYY........... ................. .................. ZZZZZZ...... qwerty_start.............. .................. ................. .................. querty_end................ .............................. (1 Reply)
Discussion started by: abinash
1 Replies

6. UNIX for Dummies Questions & Answers

Code snippet for signals

Hi. This is code snipped I have. I am trying to play with signals... int main(int argc, char *argv) { int i; sigset_t s; //declare set of signals sigfillset(&s); //initializes the signal set to include all of the defined signals int j; for ( i = 0 ; i < 70 ; i++){ j... (6 Replies)
Discussion started by: joker40
6 Replies

7. Shell Programming and Scripting

Bash snippet to find files based on a text file?

Evening all. I'm having a terrible time with a script I've been working on for a few days now... Say I have a text file named top10song.tm2, with the following in it: kernkraft 400 Imagine i kissed a girl Thriller animals hallelujah paint it black psychosocial Oi to the world... (14 Replies)
Discussion started by: DJ Charlie
14 Replies

8. Shell Programming and Scripting

gui text box code snippet?

Hello, I have written some scripts that query the user and waits for keyboard input for an answer. I was wondering if there is any generic code snippets out there that would allow me to run this as a GUI. I am thinking of a simple dialogue box that would display the question and have a text... (1 Reply)
Discussion started by: Allasso
1 Replies

9. Shell Programming and Scripting

Can someone help translate this snippet?

Hello all - This snippet from a script runs on a Tru64 machine (ksh). if ps -ef | grep thing1 | grep dtsession | grep -v grep then echo "Killing Thing1 desktop session" kill -9 'ps -ef | grep thing1 | grep dtsession | grep -v grep | awk '{FS = " "}{print $2}'' fi I'm... (7 Replies)
Discussion started by: Heron
7 Replies
Login or Register to Ask a Question