How to extract a portion of text from a log file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to extract a portion of text from a log file
# 1  
Old 01-26-2009
How to extract a portion of text from a log file

I am using Unix on Mac OS X 10.5.6.

I am trying to extract the last entry of a log (text) file. As seen below, each log entry looks like the following (date and time change with each log entry):

Quote:
==================== Carbon Copy Cloner (v. 3.1.3): 2009-01-15 01:29:59 -0500 ====================

50 - 60 lines of log entries

and ends with:

================================================================================
I want the script to extract everything quoted above, including the "===" dividers.

Currently the script I use is the following:

Code:
#! /bin/bash 
tail -n 60 /Library/Logs/CCC.log | mail -s "CCC Log" "myemailaddress"

I'm sure there is a more elegant way to extract the text I want so that I can pipe it into the mail command.

Any help you can provide would be greatly appreciated.
# 2  
Old 01-27-2009
Can try this one:
Code:
sed '/^===\+ Carbon .*===\+$/,/^=\+[[:space:]]*$/!d' infile

You have a blank at the end of the last separator line so I included that [[:space:]]* to make sure it get's it.
# 3  
Old 01-27-2009
Quote:
Originally Posted by zaxxon
Can try this one:
Code:
sed '/^===\+ Carbon .*===\+$/,/^=\+[[:space:]]*$/!d' infile

You have a blank at the end of the last separator line so I included that [[:space:]]* to make sure it get's it.
Thanks for your help!

I want to make sure I understand what is going on: sed will send to STDOUT the block of text beginning with "==== Carbon" and ending with "===== " (and everything in between from the input file /Library/Logs/CCC.log.

What I don't understand is how sed knows to start at the end of CCC.log (where the latest log entry would be) and how sed knows it is supposed to send one log entry and not every log entry. I have a feeling it has something to do with !d at the end of the command but could not find anything in the man page.

Thanks again for your help.

Code:
#! /bin/bash 
sed '/^===\+ Carbon .*===\+$/,/^=\+[[:space:]]*$/!d' /Library/Logs/CCC.log | mail -s "CCC Log" "myemailaddress"

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract portion of data

Hi Gurus, I need some help in extracting some of these information and massage it into the desired output as shown below. I need to extract the last row with the header in below sample which is usually the most recent date, for example: 2012-06-01 142356 mb 519 -219406 mb 1 ... (9 Replies)
Discussion started by: superHonda123
9 Replies

2. Shell Programming and Scripting

How to extract portion of a string?

Hi Gurus, Would like to seek some help on how to extract a portion of string from log's output as shown below. Sample of raw data: piece handle=/test123/disk_dump/test123/df0_cntrl_PCPFCI20120404_68498 tag=TAG20120404T180035 comment=NONE piece... (13 Replies)
Discussion started by: superHonda123
13 Replies

3. Shell Programming and Scripting

Extract portion of log info based on specific word

Hi Gurus, I'm using HP-UX B.11.23 operating system. I've been trying to extract a specific wording for example: "A tool used by tp produced warnings" from my below log data, but could not find a way to solve it. My intention is, if the log contain the word: "A tool used by tp produced... (9 Replies)
Discussion started by: superHonda123
9 Replies

4. Shell Programming and Scripting

parsing a portion of Data from a text file

Hi All, I need some help to effectively parse out a subset of results from a big results file. Below is an example of the text file. Each block that I need to parse starts with "Output of GENE for sequence file 100.fasta" (next block starts with another number). I have given the portion of... (8 Replies)
Discussion started by: Lucky Ali
8 Replies

5. Shell Programming and Scripting

Extracting a portion of data from a very large tab delimited text file

Hi All I wanted to know how to effectively delete some columns in a large tab delimited file. I have a file that contains 5 columns and almost 100,000 rows 3456 f g t t 3456 g h 456 f h 4567 f g h z 345 f g 567 h j k lThis is a very large data file and tab delimited. I need... (2 Replies)
Discussion started by: Lucky Ali
2 Replies

6. Shell Programming and Scripting

How to extract a text portion from a file

Can some one help me with shell script to extract a text block between two known strings. The given input file is as below: Name: abs Some tesxt.... Some tesxt.... Some tesxt.... end of text Name: xyz Some tesxt.... Some tesxt.... Some tesxt.... end of text Name: efg Some... (5 Replies)
Discussion started by: ejazs0
5 Replies

7. UNIX for Advanced & Expert Users

Grep a portion of the log file

I want to grep a portion of the log file. grepping a particular pattern and including 10 lines before that and after that occurence. grep -n "SomeString Pattern" filename 10 lines before this occurence and 10 lines after that. Please help. Need the simple script not in awk or sed. (9 Replies)
Discussion started by: sainipardeep
9 Replies

8. Shell Programming and Scripting

extract date portion from file

Hi, I have a file where there is a date field (single line variable length file) how to extract just the date portion from it the position of date field may vary anywhere in the line but will always have the format mm-dd-yyyy for eg . xxxxxxxxxxxxxxx09-10-2006xxxxxxxxxxxxxxxxxxxx (5 Replies)
Discussion started by: misenkiser
5 Replies

9. Shell Programming and Scripting

extract a portion of log file

hello, I want to grep the log file according to time and get the portion of log from one particular time to other. I can grep for individual lines by time but how should I print lines continuously from given start time till end till given end time. Appreciate your ideas, Thanks chandra (8 Replies)
Discussion started by: chandra004
8 Replies

10. Shell Programming and Scripting

Separate a portion of text file into another file

Hi, I have my input as follows : I have given two entries- From system Mon Aug 1 23:52:47 2005 Source !100000006!: Impact !100000005!: High Status ! 7!: New Last Name+!100000001!: First Name+ !100000003!: ... (4 Replies)
Discussion started by: srikanth_ksv
4 Replies
Login or Register to Ask a Question