Delete line breaks and extra spaces between patterns


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete line breaks and extra spaces between patterns
# 1  
Old 11-08-2012
Delete line breaks and extra spaces between patterns

Hi, if in between strings "<section" and "</section>" across multiple lines there occurs the string "ole-present", delete all line breaks and replace any tabs or multiple spaces with a single space. Looking for an AWK or SED solution. Thank you.

Code:
<section ...
    status = "ole-present"
    ...
    ...     ... ...
    ...</section>

<section ...
    status = "ole-absent"
    ... ...
    ... 
    ... ...
    ...</section>

<section ... status = "ole-present"
    ...
    ... ...
    ...</section>

<section 
    ... 
    status = "ole-present"
    ...
    ... ...
    ... 
    ...</section>

should change to:

Code:
<section ... status = "ole-present" ... ... ... ... ...</section>

<section ...
    status = "ole-absent"
    ... ...
    ... 
    ... ...
    ...     ... ...
    ...</section>

<section ... status = "ole-present" ... ... ... ...</section>

<section ... status = "ole-present" ... ... ... ... ...</section>

# 2  
Old 11-08-2012
try:
awk '
Code:
{l=l ":lb:" $0;
 if ($0 ~ /< *\/ *section>/) {
   sub("^:lb:","",l); sub("^:lb:","",l); sub("^:lb:","",l);
   if (l ~ /ole[-]present/) gsub(":lb:","",l);
   gsub(":lb:","\n",l);
   print l; print ""; l=""}
}
' infile

This User Gave Thanks to rdrtx1 For This Post:
# 3  
Old 11-09-2012
Thank you rdrtx1. I've used this. Appreciate your help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep string causes extra spaces

Hello, I have an xml file and my aim is to grab each line in keywords file and search the string in another file. When keyword is found in xml file,I expect the script to go to previous line in the xml file and grab the string/value between two strings. It's almost working with an error. tab... (6 Replies)
Discussion started by: baris35
6 Replies

2. UNIX for Beginners Questions & Answers

Remove line breaks and extra spaces

Hi, I want to remove all extra spaces, line breaks . Need a new line entry only for term starting"array" For eg: my input is array(), array(), array(), and my expected output is array(), array(), array(), Is it possible using awk? (5 Replies)
Discussion started by: rsi.245
5 Replies

3. UNIX for Dummies Questions & Answers

Page breaks and line breaks

Hi All, Need an urgent solution to an issue . We have created a ksh file or shell script which generates 1 DAT file. the DAT file contains extract of a select statement . Now the issue is , when we are executing the ksh file , the output is coimng with page breaks and line breaks . We have... (4 Replies)
Discussion started by: Ayaskant
4 Replies

4. Shell Programming and Scripting

Delete Numbers, Spaces, Special Character from the begining of the line of a file

Hi All, I want to keep the name of the songs with their respective extensions only. Sample Code ======== 03 Choti choti gaiya choti choti gaval.mp3 03---Brazil Dhol.mp3 03 PAYALIYA .mp3 04 - Isq Risk .mp3 04%20-%20Oh%20My%20Love(wapking.in).mp3 08 - A2 - Aasan Nahin Yahan .mp3 AE... (3 Replies)
Discussion started by: Pramod_009
3 Replies

5. UNIX Desktop Questions & Answers

To remove the extra spaces at the end of each line in a file

I have a file of about 10k records and eace line is having an extra space of 5 byte at the end.. Iwant to remove the extra spaces at the end of each line.. Can someone please help me out.. I tried using sed command and its not working... can someone please help me out. (3 Replies)
Discussion started by: rammohan
3 Replies

6. Shell Programming and Scripting

Removing extra unwanted spaces

hi, i need to remove the extra spaces in the 2nd field. Sample: abc|bd |bkd123 .. 1space abc|badf |bakdsf123 .. 2space abc|bqe |bakuowe .. 3space Output: abc|bd|bkd123 abc|badf|bakdsf123 abc|bqe|bakuowe i used the following command, (9 Replies)
Discussion started by: anshaa
9 Replies

7. Shell Programming and Scripting

how to delete extra character in a line?

And I want to delete the characters longer than 20 for each line start with #. The other lines should remain the same. I think this can be done by sed. Could anyone help me with this? Thanks! my input file: #ZP_05494889.1_Clostridium_papyrosolvens... (3 Replies)
Discussion started by: ritacc
3 Replies

8. Shell Programming and Scripting

Sed or Grep to delete line containing patter plus extra line

I'm new to using sed and grep commands, but have found them extremely useful. However I am having a hard time figuring this one out: Delete every line containing the word CEN and the next line as well. ie. test.txt blue 324 CEN green red blue 324 CEN green red blue to produce:... (2 Replies)
Discussion started by: rocketman88
2 Replies

9. Shell Programming and Scripting

Remove extra spaces in a line

Hi, I need a help in deleting extra spaces in a text. I have a huge file, a part of it is :- 3 09/21/08 03:32:07 started undef mino Oracle nmx004.wwdc.numonyx.com Message Text : The Oracle session with the PID 1103 has a CPU time ... (6 Replies)
Discussion started by: vikas027
6 Replies

10. Shell Programming and Scripting

pipe to ls with filenames with spaces breaks!

I wanted an alias or program, lsd, that would show just the directories in a directory. My first take was this alias. alias lsd='ls -d `find . -maxdepth 1 -type d -print | grep -v "^.$" | cut -c 3- `' It worked fine until I got to directory names with spaces, so I moved it into a script so I... (13 Replies)
Discussion started by: phorgan1
13 Replies
Login or Register to Ask a Question