pattern matching lines using the date, and then joining the lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting pattern matching lines using the date, and then joining the lines
# 1  
Old 03-02-2010
pattern matching lines using the date, and then joining the lines

Hi Guys,

Was trying to attempt the below using awk and sed, have no luck so far, so any help would be appreciated.

Current Text File: The first line has got an "\n", and the second line has got spaces/tabs then the word and "\n"

Code:
   TIME           SERVER/CLIENT                      TEXT
02/03/2010 23:44:13 hostname02 hostname01  NBU status: 96, EMM status: No media is
available
01/03/2010 03:48:14 unknown hostname01 backup of hostname01 exited with
status 96 (unable to allocate new media for backup, storage unit has none available)
22/02/2010 19:44:09 hostname02 hostname01 NBU status: 96, EMM status: No media is
available

OUTPUT FILE:
Code:
TIME            SERVER/CLIENT                      TEXT
02/03/2010 23:44:13 hostname02 hostname01  NBU status: 96, EMM status: No media is available
01/03/2010 03:48:14 unknown hostname01  backup of client hostname01 exited with status 96 (unable to allocate new media for backup, storage unit has none available)
22/02/2010 19:44:09 hostname02 hostname01  NBU status: 96, EMM status: No media is available


Last edited by Franklin52; 03-02-2010 at 07:23 AM.. Reason: Please use code tags!
# 2  
Old 03-02-2010
Code:
sed -i '$!N;s/\n[ |       ]*//g' file

Try the above code. Now the file will contain the text in the required format
# 3  
Old 03-02-2010
You use the following command to achieve your requirement.

Code:
sed -ri '/^\n$/d;s/[ ]{2,}/ /g;s/[\t]{1,}/ /g;' <inputfilename>

-i is used to affect the changes to an original file.

If you don't want,then remove it and the output will be printed on stdout.

Last edited by vivekraj; 03-02-2010 at 07:07 AM..
# 4  
Old 03-02-2010
Thanks guys, but that didnt work, I am using the aix sed version, and the -i and -r options are not available, I tried both above commands with out the -i and -r options. no luck.
# 5  
Old 03-02-2010
If -i and -r options aren't working.Then,you simply escape the curly braces in my command as follows.This will work.

Code:
sed '/^$/d;/^[ \t]\{1,\}$/d;s/^[ \t]\{1,\}\(.*\)/\1/g;s/[ ]\{2,\}/ /g;s/[\t]\{1,\}/ /g;' <inputfilename>

If -r option works,there is no need to escape the curly braces.

Last edited by vivekraj; 03-02-2010 at 07:17 AM..
# 6  
Old 03-02-2010
With awk...

Code:
awk '{gsub("^ *"," ",$0);printf ((/^ [0-9]/?"\n"$0:$0))}' infile

# 7  
Old 03-02-2010
Thks guys for the response, really appreciate it. The sed command didnt work, but the awk did the trick. Thnks once again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Grep -v lines starting with pattern 1 and not matching pattern 2

Hi all! Thanks for taking the time to view this! I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern. Example: Drink a soda Eat a banana Eat multiple bananas Drink an apple juice Eat an apple Eat multiple apples I... (8 Replies)
Discussion started by: demmel
8 Replies

2. Shell Programming and Scripting

Joining broken lines and removing empty lines

Hi - I have req to join broken lines and remove empty lines but should NOT be in one line. It has to be as is line by line. The challenge here is there is no end of line/start of line char. thanks in advance Source:- 2003-04-34024|04-10-2003|Claims|Claim|01-13-2003|Air Bag:Driver;... (7 Replies)
Discussion started by: Jackceasar123
7 Replies

3. Shell Programming and Scripting

Sed: printing lines AFTER pattern matching EXCLUDING the line containing the pattern

'Hi I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match. Which option is to be used to exclude the line containing the pattern? sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies

4. Shell Programming and Scripting

Pattern matching...of almost same lines

Hi all I am trying to process some data sample input is like this VARIABLE : T axis TDAY TIME : 02-FEB-2004 17:54 19755. VARIABLE : quality flag FILENAME : 1900054_prof.nc Z : 41 ... (3 Replies)
Discussion started by: Akshay Hegde
3 Replies

5. Shell Programming and Scripting

How to print all the lines after pattern matching?

I have a file that contains... Number -------------------- 1 2 3 4 i want to print all the numbers after the hyphen ... (6 Replies)
Discussion started by: ankitknit
6 Replies

6. Shell Programming and Scripting

Finding lines matching the Pattern and their previous lines in a file

Hi, I am trying to locate the occurences of certain pattern like 'Possible network disconnect' in a text file. I can get the actual lines matching the pttern using: grep -w 'Possible network disconnect' file_name. But I am more interested in getting the timing of these events which are... (7 Replies)
Discussion started by: sagarparadkar
7 Replies

7. Shell Programming and Scripting

counting the lines matching a pattern, in between two pattern, and generate a tab

Hi all, I'm looking for some help. I have a file (very long) that is organized like below: >Cluster 0 0 283nt, >01_FRYJ6ZM12HMXZS... at +/99% 1 279nt, >01_FRYJ6ZM12HN12A... at +/99% 2 281nt, >01_FRYJ6ZM12HM4TS... at +/99% 3 283nt, >01_FRYJ6ZM12HM946... at +/99% 4 279nt,... (4 Replies)
Discussion started by: d.chauliac
4 Replies

8. Shell Programming and Scripting

Joining lines and find pattern

I have a file that does not have much formatting. I would like every time it finds a tag (something that starts with < and end with > like <Tag1> ) to be at the beginning of the line and joined with the next line. I tried sed with append and can not get it right and also hold and get in sed... (4 Replies)
Discussion started by: quixoticking11
4 Replies

9. Shell Programming and Scripting

Pattern Matching and lines after that

I have a huge file and every paragraph has a date. But I want to retrieve the paras for the last two days only. So I can grep and findout the linenum for the first line since yesterday. Now I want to display everything after that line. And I am trying to do this inside a script so the linenum is a... (4 Replies)
Discussion started by: kaushys
4 Replies

10. Shell Programming and Scripting

pattern matching over more lines

hi, i have a text file wich contains following informations: 1 Record 90 in base GUJA_2008 (Created: 2008-01-14 19:00:38, Modified: 2008-01-15 18:54:33) 1 YADM_20080101_A91645666_A91645666 4 2008/01/15/ADM.ADM/20080101.ADM.ADM.A91645666G001.jff 1 Record 91 in base GUJA_2008 (Created:... (3 Replies)
Discussion started by: trek
3 Replies
Login or Register to Ask a Question