Sponsored Content
Top Forums Shell Programming and Scripting sed to replace two lines with one Post 302455115 by alister on Monday 20th of September 2010 09:33:19 PM
Old 09-20-2010
Woops. Obviously I missed the crux of the problem. Apologies for the noise. Smilie

---------- Post updated at 09:33 PM ---------- Previous update was at 09:26 PM ----------

How about:
Code:
sed 'N; /^\([^\n]\{1,\}\)\n\1/s/.*\n//'

That will inspect a pair of lines to see if the first is a leading substring of the next. Then it moves on to the next pair of lines. There is no overlap between pairs. 1-2, 3-4, 5-6, etc ... are inspected, not 1-2, 2-3, 3-4. Your problem statement wasn't explicit in this regard, so I chose the simpler of the two to implement.

Example:
Code:
$ cat data
ab
abcd
12
345
ef
efgh
$ sed 'N; /^\([^\n]\{1,\}\)\n\1/s/.*\n//' data
abcd
12
345
efgh

Regards,
Alister
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

using sed command to replace multiple lines

the file contains the follwoing lines /* * Copyright (C) 1995-1996 by XXX Corporation. This program * contains proprietary and confidential information. All rights reserved * except as may be permitted by prior written consent. * * $Id: xxx_err.h,v 1.10 2001/07/26 18:48:34 zzzz $ ... (1 Reply)
Discussion started by: radha.kalivar
1 Replies

2. Shell Programming and Scripting

SED - Search and replace lines containing...

Hi, I need a sed line that will find all lines that contain "<int key="NSWindowStyleMask">" and then replace the entire line (not just that one string) with "<int key="NSWindowStyleMask">8223</int>". It doesn't necessarily have to use sed as long as it gets the job done :) Thanks (9 Replies)
Discussion started by: pcwiz
9 Replies

3. Shell Programming and Scripting

sed find and replace multiple lines

I am new to linux and would like to modify the contents of a file preferably using a one line. The situation is as follows <start> some lines "I am the string" "replace string" more lines here <end> In the above example,On encountering "I am the string", the "replace string "should be... (6 Replies)
Discussion started by: supersimha
6 Replies

4. Shell Programming and Scripting

Replace multiple lines between tags using sed

I have a file example.txt with content look like this: <TAG> 1 2 3 </TAG> and I use a sed command to replace everything between <TAG></TAG> as below: sed -e 's/\(<TAG>\)*\(<.*\)/something/g' example.txt > example.txt.new But unfortunately, the command failed to replace as i want, it... (23 Replies)
Discussion started by: dollylamb
23 Replies

5. Shell Programming and Scripting

perl or sed replace lines only if for all files

Hi Everyone, # cat 3 a b # cat 4 a b # perl -p -i -e "s/.*/c/ if $.==2" * # cat 3 a c # cat 4 a b (4 Replies)
Discussion started by: jimmy_y
4 Replies

6. Shell Programming and Scripting

sed to replace a line with 2 or more different lines in same file

i have something like this... cat filename.txt <complexType name="abc"> bklah vlah blah blha blha blah blha </complexType > <complexType name="def"> bklah vlah blah blha blha blah blha </complexType > . . .and so on.. its a very large file (11 Replies)
Discussion started by: vivek d r
11 Replies

7. Shell Programming and Scripting

How to replace a text containing new lines using sed or any other method?

Hi, i want to replace "Hi How are You when did you go to delhi" to "Hi How are you when did you come from delhi" in a file. Any idea how to do it? (2 Replies)
Discussion started by: abhitanshu
2 Replies

8. Shell Programming and Scripting

Replace multiple lines through sed

Hi All, I have a input file as sample below <this is not starting of file> record line1 line2 line3 end line4 line5 record line6 line7 line8 my requirement is this, i want to select a pattern between first record and end, whatever is written between first record and end. and... (0 Replies)
Discussion started by: adgangwar
0 Replies

9. Shell Programming and Scripting

sed to replace a line with multi lines from a var

I am trying to find a line in a file ("Replace_Flag") and replace it with a variable which hold a multi lined file. myVar=`cat myfile` sed -e 's/Replace_Flag/'$myVar'/' /pathto/test.file myfile: cat dog boy girl mouse house test.file: football hockey Replace_Flag baseball ... (4 Replies)
Discussion started by: bblondin
4 Replies

10. Shell Programming and Scripting

[sed] Replace one line with two lines

Literally cannot get this one, guys. Single line replacement is simple, but I am not understanding the correct syntax for including a new line feed into the substitution part. Here's what I got. (Cannot use perl) #!/bin/sh set -f #Start Perms export HOME=/home/test_user # End Perms... (6 Replies)
Discussion started by: Parallax
6 Replies
GMTLOGO(1gmt)						       Generic Mapping Tools						     GMTLOGO(1gmt)

NAME
gmtlogo - Adding a GMT graphics logo overlay to an illustration SYNOPSIS
gmtlogo dx dy [ -Gfill ] [ -W[pen] ] >> plot.ps DESCRIPTION
This scrips appends the GMT logo to an "open" PostScript file. The logo is 2 inches wide and 1 inch high and will be positioned with the lower left corner at the position (dx,dy) relative to the current plot origin. OPTIONS
-G Select color or pattern for filling the underlying box [Default is no fill]. (See SPECIFYING FILL below). -W Set pen attributes for the outline of the box [Default is no outline]. (See SPECIFYING PENS below). SPECIFYING PENS pen The attributes of lines and symbol outlines as defined by pen is a comma delimetered list of width, color and texture, each of which is optional. width can be indicated as a measure (points, centimeters, inches) or as faint, thin[ner|nest], thick[er|est], fat[ter|test], or obese. color specifies a gray shade or color (see SPECIFYING COLOR below). texture is a combination of dashes `-' and dots `.'. SPECIFYING FILL fill The attribute fill specifies the solid shade or solid color (see SPECIFYING COLOR below) or the pattern used for filling polygons. Patterns are specified as pdpi/pattern, where pattern gives the number of the built-in pattern (1-90) or the name of a Sun 1-, 8-, or 24-bit raster file. The dpi sets the resolution of the image. For 1-bit rasters: use Pdpi/pattern for inverse video, or append :Fcolor[B[color]] to specify fore- and background colors (use color = - for transparency). See GMT Cookbook & Technical Reference Appendix E for information on individual patterns. SPECIFYING COLOR color The color of lines, areas and patterns can be specified by a valid color name; by a gray shade (in the range 0-255); by a decimal color code (r/g/b, each in range 0-255; h-s-v, ranges 0-360, 0-1, 0-1; or c/m/y/k, each in range 0-1); or by a hexadecimal color code (#rrggbb, as used in HTML). See the gmtcolors manpage for more information and a full list of color names. SEE ALSO
GMT(1), gmtcolors(5), psimage(1) GMT 4.5.7 15 Jul 2011 GMTLOGO(1gmt)
All times are GMT -4. The time now is 07:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy