Sponsored Content
Top Forums Shell Programming and Scripting perl : replace multiline text between two marker points Post 302592842 by rethink on Wednesday 25th of January 2012 07:16:01 AM
Old 01-25-2012
Thanks Tyler , much appreciated

---------- Post updated at 07:16 AM ---------- Previous update was at 05:12 AM ----------

Hi one further question if i may. I am trying to create a perl script out of this so that I can put all the files I wish to edit into an array and edit them all rather than running this from the command line

but how do i tell the little function youve provided about the file I want to edit so for example


Code:
 
#!/usr/bin/perl -w
use strict;

my @array = <i will populate this array with files names>
 
my $x;
my $str = <<EOF;
 
My new
multi-line
static text

EOF
 
foreach (@array) {
  open FILE,"+>$_"
 
BEGIN { $x=1 };
if (/^---\+\+ Details/) {
   print; $x=0
} elsif (/^---\+\+ More info/) {
   print $str; $x=1
}
print if $x==1
 
close $_;
}


Ive clearly done that completely wrong as it doesnt workSmilie , but I cant seem to put your nice little function to use inside a script that passes my filenames in the array as the equivelant of the 'standard in' from your command line version?

Any advice on this would be greatly appreciated
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search and replace string between 2 points

I have a file that contains the following string. connect odemgr/bank123@odsd I am liiking to write a scrupt that will change the par of the string between the "/" and the "@" anyhelp qwould be greatly appriciated. (3 Replies)
Discussion started by: whited05
3 Replies

2. Shell Programming and Scripting

Multiline replace problem

I have a data of the form 0.0117843924 0. 0. 0. 0. 0.011036017 0. 0. 0. 0. 0.0103351669 0. 0. 0. 0. 4839.41211 0. 0. 0. 0. 4532.08203 0. 0. 0. 0. I would like to insert a couple of blank lines before the 4839 line, every time it appears. The numbers in the... (2 Replies)
Discussion started by: mathis
2 Replies

3. Shell Programming and Scripting

grep command to replace multiline text from httpd.conf file on Fedora

Hi, I am a newbie to shell scripting and to Linux environment as well. In my project I am trying to search for following text from the httpd.conf file <Directory '/somedir/someinnerdir'> AllowOverride All </Directory> and then remove this text and again rewrite the same text. The... (1 Reply)
Discussion started by: bhushan
1 Replies

4. UNIX for Dummies Questions & Answers

Replace a string within 2 points and save it

I've got this xml file <file1> some text here </file1> <file2> some text here </file2> How do I change the text in element file1 to a sentence that I want, defined by variable $sentence. using ksh here. (2 Replies)
Discussion started by: alienated
2 Replies

5. UNIX for Dummies Questions & Answers

[Solved] Vi - replace words with points (.)

Hello guys, I'm trying to replace the word "i.e." for "ie." in Vi but everytime I used the search tool for start looking for it (this is: /i.e.), it finds every word that contains the "i" and "e" word. I tried the following command: :%s/i.e./ie./g However, it doesn't work. Any help... (2 Replies)
Discussion started by: Gery
2 Replies

6. Shell Programming and Scripting

Replace/Remove not specific text in perl

Hello, Consider that i have many files that have the below format: file1 900 7777 1000 5 6 23 nnnnnnnnnnnnnnnnnn 1100 kkkkkkk file2 900 1989 1000 5 3 10 kkkdfdfdffd 1100 kkkkkkk What i would like to do is on every file to search the line that starts with... (4 Replies)
Discussion started by: chriss_58
4 Replies

7. UNIX for Dummies Questions & Answers

Perl one liner to replace text

Not quite a unix question but problem in a perl command. Taking a chance if someone knows about the error cat 1 a b c d perl -p -e 's/a/b/g' 1 b b c d What is the problem here?? perl -p -i -e 's/a/b/g' 1 Can't remove 1: Text file busy, skipping file. (2 Replies)
Discussion started by: analyst
2 Replies

8. Shell Programming and Scripting

How to replace word with multiline text using shell scripting.

Hi all I have data files which contain data as shown below: Line 5: FIDE INST_DESC: DIAM Co Ltd/Japan => MAID Co Ltd/Japan INST_NME: DIAM Co Ltd/Japan => MAID Co Ltd/Japan Line 6: FIDE INST_DESC: DIAM DL/Pimco US Bond Open Born in the USA => MAID DL/Pimco US Bond Open Born in the... (6 Replies)
Discussion started by: Ganesh_more
6 Replies

9. UNIX for Dummies Questions & Answers

UNIX multiline replace

Hi We have a database export file which needs to be formatted as below InputCreate view ABC1 as Locking ABC1 for Access select * from PQR Create view ABC2 as Locking ABC2 for access select * from PQR Create view ABC3 as Locking ABC3 for Access select * from PQR OutputCreate... (5 Replies)
Discussion started by: sheetal.arun
5 Replies
CDBS-EDIT-PATCH(1)                                              CDBS Documentation                                              CDBS-EDIT-PATCH(1)

NAME
cdbs-edit-patch - create or edit a CDBS simple-patchsys.mk patch SYNOPSIS
cdbs-edit-patch patchname DESCRIPTION
cdbs-edit-patch creates or edits patches for use by the CDBS simple-patchsys.mk patch system. For more information about CDBS please see the documentation under /usr/share/doc/cdbs/. When patchname exists, cdbs-edit-patch will set up a temporary working source tree, apply all patches up to and including patchname in lex- icographic order, and spawn an interactive shell for the developer. The developer can then edit files in this working tree. When the developer is done and exits the shell, cdbs-edit-patch updates patchname to reflect the changes made. To abort the process from the inter- active shell, exit with a nonzero exit value. When patchname does not exist, cdbs-edit-patch will assume that a new patch should be created. As with the above scenario, cdbs-edit-patch will first create a temporary working source tree and apply all patches up to the new patch in lexicographic order. When the shell is quit, cdbs-edit-patch will create patchname. AUTHOR
CDBS was written by Colin Walters and others. cdbs-edit-patch was written by Martin Pitt. This manual page was written by Peter Eisen- traut based on the dpatch-edit-patch(1) manual page. SEE ALSO
CDBS documentation in /usr/share/doc/cdbs/, /usr/share/cdbs/1/rules/simple-patchsys.mk, dpatch-edit-patch(1), quilt(1) Debian 5 Feb 2006 CDBS-EDIT-PATCH(1)
All times are GMT -4. The time now is 05:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy