Sponsored Content
Top Forums Shell Programming and Scripting sed find and replace multiple lines Post 302303895 by ldapswandog on Friday 3rd of April 2009 08:28:56 PM
Old 04-03-2009
sed only operates on the line contained in its buffer, so to work on multiple lines you need to read more lines into the buffer. Depending on what all you want to do there are flags for read ahead buffer and read behind buffers. Also sed just outputs to screen so you have to redirect the output to a new file, then copy or move the new file to the original file name. I would always make a backup of the original file prior to modifications.
Code:
#sed -e 's/"I am the string"\n"replace string"/"I am the string"\n"string replaced"' 
sed -e '/"I am the string"/N;s/"replace string"/"string replaced"/' myfile.txt > myfile_new.txt

 

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

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

3. Shell Programming and Scripting

Find 5 lines and replace with 18 line in sql file where it contains multiple blocks.

My sql file xyz_abc.sql in this file there are multiple sql block in this block I need to find the following block rem Subset Rows (&&tempName.*) CREATE VIEW &&tempName.* AS SELECT * FROM &&tempName.* WHERE f is not null and replace with following code rem Subset Rows... (9 Replies)
Discussion started by: Zaheer.mic
9 Replies

4. Shell Programming and Scripting

SED multiple find and replace

Hi, searched through the forums and not really found what I am looking for. I am a bit of novice when it comes to anything above basic scripting and not even that when it comes to the sed command. I have been reading the tutorials online but still struggling to get what I need :wall: ... (10 Replies)
Discussion started by: colinwilson1303
10 Replies

5. Shell Programming and Scripting

Find and replace multiple lines

I have a section of text in file A, see below # falkdjf lkjadf lkjadf lkajdf lkajdf lkajdf lkjadf lkjadf 234.234.2.234 lkjlkjlk 234.234.3.234 # Only the first line with "# falkdjf lkjadf lkjadf" is unique in the file. The new section that I want to overwrite the old section above is in... (1 Reply)
Discussion started by: jyang72211
1 Replies

6. Shell Programming and Scripting

Script to find & replace a multiple lines string across multiple php files and subdirectories

Hey guys. I know pratically 0 about Linux, so could anyone please give me instructions on how to accomplish this ? The distro is RedHat 4.1.2 and i need to find and replace a multiple lines string in several php files across subdirectories. So lets say im at root/dir1/dir2/ , when i execute... (12 Replies)
Discussion started by: spfc_dmt
12 Replies

7. Shell Programming and Scripting

using sed to find and replace multiple numbers

I have looked around and there are several examples of how to use sed, but I don't think any of them help me very much with what I am trying to do. I have a text file like this.... 1! SRCNAM = 00001 ! 1! X = 50.0000, 0.0000,... (10 Replies)
Discussion started by: mercury.int
10 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/awk/perl command to replace pattern in multiple lines

Hi I know sed and awk has options to give range of line numbers, but I need to replace pattern in specific lines Something like sed -e '1s,14s,26s/pattern/new pattern/' file name Can somebody help me in this.... I am fine with see/awk/perl Thank you in advance (9 Replies)
Discussion started by: dani777
9 Replies

10. UNIX for Beginners Questions & Answers

How to find=grep or maybe sed/awk for multiple lines of text?

Hi, I am running the following: PASS="username/password" sqlplus -s << EOF | grep -v "^$" $PASS set feedback off set heading off set termout off select name from v\$database ; exit EOF Which gives ERROR: ORA-28002: the password will expire within 5 days PSMP1 (1 Reply)
Discussion started by: newbie_01
1 Replies
QSUBST(1)						    BSD General Commands Manual 						 QSUBST(1)

NAME
qsubst -- query-replace strings in files SYNOPSIS
qsubst str1 str2 [flags] file [file [...]] DESCRIPTION
qsubst reads its options (see below) to get a list of files. For each file on this list, it then replaces str1 with str2 wherever possible in that file, depending on user input (see below). The result is written back onto the original file. For each potential substitution found, the user is prompted with a few lines before and after the line containing the string to be substi- tuted. The string itself is displayed using the terminal's standout mode, if any. Then one character is read from the terminal. This is then interpreted as follows (this is designed to be like Emacs' query-replace-string): space Replace this occurrence and go on to the next one. . Replace this occurrence and don't change any more in this file (i.e., go on to the next file). , Tentatively replace this occurrence. The lines as they would look if the substitution were made are printed out. Then another character is read and it is used to decide the result as if the tentative replacement had not happened. n Don't change this one; just go on to the next one. ^G Don't change this one or any others in this file, but instead simply go on to the next file. ! Change the rest in this file without asking, then go on to the next file (at which point qsubst will start asking again). ? Print out the current filename and ask again. The first two arguments to qsubst are always the string to replace and the string to replace it with. The options are as follows: -w The search string is considered as a C symbol; it must be bounded by non-symbol characters. This option toggles. ('w' for 'word'.) -! -go -noask Enter ! mode automatically at the beginning of each file. -nogo -ask Negate -go, that is, ask as usual. -cN (Where N is a number.) Give N lines of context above and below the line with the match when prompting the user. -CAN (Where N is a number.) Give N lines of context above the line with the match when prompting the user. -CBN (Where N is a number.) Give N lines of context below the line with the match when prompting the user. -f filename The filename argument is one of the files qsubst should perform substitutions in. -F filename qsubst reads filename to get the names of files to perform substitutions in. The names should appear one to a line. The default amount of context is -c2, that is, two lines above and two lines below the line with the match. Arguments not beginning with a - sign in the options field are implicitly preceded by -f. Thus, -f is really needed only when the file name begins with a - sign. qsubst reads its options in order and processes files as it gets them. This means, for example, that a -go will affect only files named after the -go. The most context you can get is ten lines each, above and below. str1 is limited to 512 characters; there is no limit on the size of str2. Neither one may contain a NUL. NULs in the file may cause qsubst to make various mistakes. If any other program modifies the file while qsubst is running, all bets are off. AUTHORS
der Mouse <mouse@rodents.montreal.qc.ca> BSD
September 4, 1999 BSD
All times are GMT -4. The time now is 09:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy