Multiline sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Multiline sed
# 1  
Old 11-03-2015
Multiline sed

Hi guys,

I am fairly comfortable with using the sed command if the string to be replaced is all on a single line.

I was wondering is it possible to use sed command in a multiline way ?

Say for example I have the below string on 2 different lines:

Code:
      {
        "key": "brandNameA",
        "value": "aMobile"
      }

And I want it to be replaced with:

Code:
      {
        "key": "brandNameB",
        "value": "bMobile"
      }

Is it possible using a single instance of sed?

Last edited by Don Cragun; 11-03-2015 at 10:37 PM.. Reason: Add CODE and ICODE tags.
# 2  
Old 11-04-2015
Try
Code:
sed '/brandNameA/ {N; s//brandNameB/; s/aMobile/bMobile/}' file

# 3  
Old 11-04-2015
Unix sed wants a ; or a newline (or another -e ' ') before a }
Code:
sed '/brandNameA/ {N; s//brandNameB/; s/aMobile/bMobile/;}' file

Further some Unix sed have a bug: a command that follows a } must be separated by a newline (or another -e ' ').
# 4  
Old 11-04-2015
Perhaps a few other alternatives:

Code:
sed '/brandNameA/ {N; s/brandNameA\(.*\n.*\)aMobile/brandNameB\1bMobile/;}' junaid_subhani.example

Code:
sed '/brandNameA/ {N; s/\(brandName\)A\(.*\n.*\)a\(Mobile\)/\1B\2b\3/;}' junaid_subhani.example

Code:
sed '/brandNameA/ {N;s/A\(.*\n.*\)a/B\1b/;}' junaid_subhani.example

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed multiline problem

I'm trying to replicate the sed output on p.108 of Sed&Awk,by Doughery & Robbins, 2nd edition. I'm on a Windows 10 Surface Pro, running Cygwin for 64-bit versions of Windows. Input text saved in text file called data_p108.txt: Consult Section 3.1 in the Owner and Operator Guide for a... (9 Replies)
Discussion started by: prooney
9 Replies

2. Shell Programming and Scripting

[sed]: Substitute a string with a multiline value

Dear all, I try to replace a string of characters in a file (MyFile.txt) by a multiline value of the variable "Myvar": $ cat MyFile.txt DESCRIPTION '@TargetTable SCHEMA' ( @InputFlowDef ); $ The content of Myvar: $ echo "$Myvar" col1 , col2 , col3 $ (4 Replies)
Discussion started by: dae
4 Replies

3. Shell Programming and Scripting

sed - delete content inside tags multiline

I need that a certain part of the content below excluded ==Image Gallery== followed by <gallery> and the content until </gallery> test SED1 ==Image Gallery== <gallery> Image:car1.jpg| Car 1<sup>1</sup> Imagem: car2.jpg| Car2<sup>2</sup> </gallery> test SED2 ==Image... (5 Replies)
Discussion started by: dperboni
5 Replies

4. UNIX for Dummies Questions & Answers

Need Multiline sed help!!

Hey everyone, I'm new to sed and I need to create a script for inserting one line of code at the beginning of every method in a Xcode project (over 6,000 methods). Each method Structure is (+ or -) (Various declarations-- could span multiple lines) ({) I've tried for days, any guidance would be... (2 Replies)
Discussion started by: jimmyz
2 Replies

5. Shell Programming and Scripting

Using sed to pattern match within a particular multiline block and take action

Hi all, This is my first post, so please go easy if I broke some rules. Not accustomed to posting in forums... :) I'm looking for help on pattern matching within a multiline block and looking to highlight blocks/block-ids that do NOT contain a particular pattern. For example an input file... (5 Replies)
Discussion started by: tirodad
5 Replies

6. UNIX for Dummies Questions & Answers

sed multiline pattern match

How can I write a script that takes a cisco config file and outputs every occurrence of two, or more, pattern matches through the whole config file? For example, out of a config file, i want to print out every line with interface, description and ip address through the whole file, and disregard... (3 Replies)
Discussion started by: knownasthatguy
3 Replies

7. Shell Programming and Scripting

sed multiline substitution if a condition holds

Hi. I have the following text file (more precisely a Matlab script): dummy1 = 5; varx = 'false'; dummy2 = 6; % ... some general commands % ... dummy3 = 7; vary = 'option1'; dummy4 = 8; Using sed I want to do the following action: IF varx = 'false' vary='NEW_VALUE_1'... (11 Replies)
Discussion started by: plsrn
11 Replies

8. Shell Programming and Scripting

Multiline pattern search using sed or awk

Hi friends, Could you please help me to resolve the below issue. Input file :- <Node> <username>abc</username> <password>ABC</password> <Node> <Node> <username>xyz</username> <password>XYZ</password> <Node> <Node> <username>mnp</username> ... (3 Replies)
Discussion started by: haiksuresh
3 Replies

9. Shell Programming and Scripting

delete multiline string from file using sed.

Hi, I have file which has the following content... GOOD MORNING **********WARNING********** when it kicks from the kickstart, sshd daemon should start at last. (WHEN KICKING ITSELF, NOT AFTER KICKING). /etc/rc3.d/S55sshd ( run level specification for sshd is 55, now I would want to... (4 Replies)
Discussion started by: skmdu
4 Replies
Login or Register to Ask a Question