[root@linux]~# cat file
THE GREEN TABLE
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Vestibulum consectetur, purus vitae sagittis
vehicula, justo ipsum accumsan mi, in ornare risus
turpis vel dolor. Aliquam in auctor nibh. Proin sit
amet diam purus. Quisque suscipit, dui eu vehicula
malesuada, tortor neque sagittis dolor, vel placerat
lacus odio sed justo.
THE GREEN TABLE
Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus. Donec convallis hendrerit
odio non sollicitudin. Vivamus condimentum consequat
velit, ut volutpat mi tristique eget. Donec magna mi,
tempor at posuere non, pulvinar quis tortor. Integer
ornare vehicula enim, et gravida neque laoreet non.
[root@linux]~# perl -pe 's/THE GREEN TABLE/\n$&/||s/\n/ /;END{print "\n"}' file
THE GREEN TABLE
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consectetur, purus vitae sagittis vehicula, justo ipsum accumsan mi, in ornare risus turpis vel dolor. Aliquam in auctor nibh. Proin sit amet diam purus. Quisque suscipit, dui eu vehicula malesuada, tortor neque sagittis dolor, vel placerat lacus odio sed justo.
THE GREEN TABLE
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec convallis hendrerit odio non sollicitudin. Vivamus condimentum consequat velit, ut volutpat mi tristique eget. Donec magna mi, tempor at posuere non, pulvinar quis tortor. Integer ornare vehicula enim, et gravida neque laoreet non.
You wanted "specific text" to be matched. This code is matching only "THE GREEN TABLE". Do you have some rule on how does the specific text look like? Does it always have "TABLE" in there?
Thank you for the input, and my apologies if I'm slow on getting it.
bartus11, I can see now how your code works:
Code:
perl -pe 's/THE GREEN TABLE/\n$&/||s/\n/ /;END{print "\n"}' file
It removes line breaks from everything except the matched text. In my usage that unfortunately won't work - the files are long and dynamic.
What will work is code that removes line breaks from the lines AFTER the match.
It will remove all line breaks in a document after a match, until there is a blank line. Then it will stop.
It won't start removing line breaks again until there is a match, then it will remove line breaks starting on the next line, until there is a blank line, then it will stop.
It will not remove line breaks from blank lines.
Example - the text before:
Code:
HEADLINE ONE
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Vestibulum consectetur, purus vitae sagittis
vehicula, justo ipsum accumsan mi, in ornare risus
turpis vel dolor.
HEADLINE TWO
Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus. Donec convallis hendrerit
odio non sollicitudin. Vivamus condimentum consequat
velit, ut volutpat mi tristique eget.
HEADLINE THREE
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Vestibulum consectetur, purus vitae sagittis
vehicula, justo ipsum accumsan mi, in ornare risus
turpis vel dolor.
HEADLINE FOUR
Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus. Donec convallis hendrerit
odio non sollicitudin. Vivamus condimentum consequat
velit, ut volutpat mi tristique eget.
The text after, presuming a match for HEADLINE ONE and HEADLINE THREE:
Code:
HEADLINE ONE
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consectetur, purus vitae sagittis vehicula, justo ipsum accumsan mi, in ornare risus turpis vel dolor.
HEADLINE TWO
Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus. Donec convallis hendrerit
odio non sollicitudin. Vivamus condimentum consequat
velit, ut volutpat mi tristique eget.
HEADLINE THREE
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consectetur, purus vitae sagittis vehicula, justo ipsum accumsan mi, in ornare risus turpis vel dolor.
HEADLINE FOUR
Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus. Donec convallis hendrerit
odio non sollicitudin. Vivamus condimentum consequat
velit, ut volutpat mi tristique eget.
Regarding copy/pasted text of copyright-free book from archive.org (link below), in attempt to expand single-line-break paragraph text (not section headings or paragraph breaks) to wider right margin, Justify or Wrap in LIbreOffice is not working, and Find/Replace the paragraph mark ($) wraps all... (2 Replies)
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)
Heyas
I'm trying to read/display a file its content and put borders around it (tui-cat / tui-cat -t(ypwriter).
The typewriter-part is a 'bonus' but still has its own flaws, but thats for later.
So in some way, i'm trying to rewrite cat using bash and other commands.
But sadly it fails on... (2 Replies)
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)
awk , sed Experts,
I want to remove first and last line after pattern match "vg" :
I am trying : # sed '1d;$d' works fine , but where the last line is not having vg entry it is deleting one line of data.
- So it should check for the pattern vg if present , then it should delete the line ,... (5 Replies)
Hi All,
I've a csv file in which the record is getting break into 1 line or more than one line. I want to combine those splits into one line and remove the unwanted character existing in the record i.e. double quote symbol ("). The line gets break only when the record contains double... (4 Replies)
Hey all,
I want to remove non-alphabetic charecters from the line that have
"Products from "
for example a line like this:
Products from LG (295)
should just become like
Products fromLG
in the file, and then I would delete the remaining and it would be just "LG"
tnx (9 Replies)
Using ls input as example..
ls | sed 's/\n/ /'outputs with line breaks, where I was expecting the \n to disappear. I've tried \r as well wondering if terminal output used different breaks.
Is there a way to remove the line breaks without saving to file and then working from there?
----------... (2 Replies)
Hi,
I got some log files which print the whole xml message in separate lines:
e.g.
2008-10-01 14:21:44,561 INFO do something
2008-10-01 14:21:44,561 INFO print xml : <?xml version="1.0" encoding="UTF-8"?>
<a>
<b>my data</b>
</a>
2008-10-01 14:21:44,563 INFO do something again
I want... (3 Replies)
Hi All,
I get a flat file with its last field data splitting onto a new line.I got this program from Vgersh which when run would cancatenate the split data back to the end of the previous records.But this program fails when it encounters a page break between the split data and the previous... (5 Replies)