Sponsored Content
Top Forums Shell Programming and Scripting Perl: batch replace a portion of text in files Post 302923824 by Chubler_XL on Tuesday 4th of November 2014 03:33:35 PM
Old 11-04-2014
How about this perl solution using the Roman CPAN module:

Code:
use warnings;
use strict;

use Roman;

our @array = `find -P . -type f -name \'*.pdf\'`;

foreach my $p (@array){

    chomp($p);
    open(my $source, $p) or die "Cannot open file $p";
    open(my $dest, '>', $p . ".new") or die "Cannot open output file $p.new";
    binmode($source);
    binmode($dest);

    while(my $line = <$source>){
        while (my ($page) = $line =~ /pp_(\d+)/) {
            my $newpage = $page-16;
            $line =~ s/pp_$page/zUNIQz_$newpage/;
        }
        while (my ($rdigit) = $line =~ /pp_([MDCLXVI]+)/i) {
           my $newpage = arabic($rdigit)-2;
           $line =~ s/pp_$rdigit/zUNIQz_$newpage/;
        }
        $line =~ s/zUNIQz_/pp_/g;
        print $dest $line;
    }
    close($source);
    close($dest);
    rename "$p" => "$p.bak" or
          die "can't rename $p to $p.bak";
    rename "$p.new" => "$p" or
          die "can't rename $p.new to $p";
}

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Find and replace portion of file names

Hey all, So I know you can easily find and replace words and strings in text files, but is there an easy way to find and replace just a sub-portion of text in the file name. For example, in a directory I have tons of file names that start with F00001-0708, and I want to change all the files to... (2 Replies)
Discussion started by: hertingm
2 Replies

2. Shell Programming and Scripting

Find and add/replace text in text files

Hi. I would like to have experts help on below action. I have text files in which page nubmers exists in form like PAGE : 1 PAGE : 2 PAGE : 3 and so on there is other text too. I would like to know is it possible to check the last occurance of Page... (6 Replies)
Discussion started by: lodhi1978
6 Replies

3. 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

4. Shell Programming and Scripting

Executing a batch of files within a shell script with option to refire the individual files in batch

Hello everyone. I am new to shell scripting and i am required to create a shell script, the purpose of which i will explain below. I am on a solaris server btw. Before delving into the requirements, i will give youse an overview of what is currently in place and its purpose. ... (2 Replies)
Discussion started by: goddevil
2 Replies

5. Shell Programming and Scripting

perl : replace multiline text between two marker points

Hi there I just wondered if someone could give me some perl advice I have a bunch of text files used for a wiki that have common headings such as ---++ Title blah ---++ Summary blah ---++ Details Here is the multiline block of text I wish to (6 Replies)
Discussion started by: rethink
6 Replies

6. 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

7. Shell Programming and Scripting

perl script to replace the text in the original file

Hi Folks, I have an html file which contains the below line in the body tagI am trying the replace hello with Hello Giridhar programatically. <body> <P><STRONG><FONT face="comic sans ms,cursive,sans-serif"><EM>Hello</EM></FONT></STRONG></P> </body> I have written the below code to... (3 Replies)
Discussion started by: giridhar276
3 Replies

8. Shell Programming and Scripting

Shell or perl script to replace XML text in bulk

Hi, I am looking for assistance over shell or perl (without XML twig module) which replace string in XML file under particular branch..example of code file sample.. Exact requirment : Replace "Su saldo es" in below file with "Your balance" but only in XML branch of Text id=98 and Text Id=12... (7 Replies)
Discussion started by: Ashu_099
7 Replies

9. Shell Programming and Scripting

Bash to add portion of text to files in directory using numerical match

In the below bash I am trying to rename eachof the 3 text files in /home/cmccabe/Desktop/percent by matching the numerical portion of each file to lines 3,4, or 5 in /home/cmccabe/Desktop/analysis.txt. There will always be a match between the files. When a match is found each text file in... (2 Replies)
Discussion started by: cmccabe
2 Replies

10. Shell Programming and Scripting

Required to get a portion of a text

Hello Gurus, I have a filesystem like below : /u03/oracle/EBSDEV/fs1/EBSapps/appl I want to get only the portion of the above text like below... /u03/oracle/EBSDEV Can you please advice on this? Thanks- P (5 Replies)
Discussion started by: pokhraj_d
5 Replies
Protocol::Ext::SHAPE(3pm)				User Contributed Perl Documentation				 Protocol::Ext::SHAPE(3pm)

NAME
X11::Protocol::Ext::SHAPE - Perl module for the X11 Protocol Nonrectangular Window Shape Extension SYNOPSIS
use X11::Protocol; $x = X11::Protocol->new($ENV{'DISPLAY'}); $x->init_extension('SHAPE') or die; DESCRIPTION
This module is used by the X11::Protocol module to participate in the shaped window extension to the X protocol, allowing windows to be of any shape, not just rectangles. SYMBOLIC CONSTANTS
This extension adds the constant types 'ShapeKind' and 'ShapeOp', with values as defined in the standard. EVENTS
This extension adds the event type 'ShapeNotify', with values as specified in the standard. This event is selected using the ShapeSelectInput() request. REQUESTS
This extension adds several requests, called as shown below: $x->ShapeQueryVersion => ($major, $minor) $x->ShapeRectangles($dest, $destKind, $op, $xOff, $yOff, $ordering, @rectangles) $x->ShapeMask($dest, $destKind, $op, $xOff, $yOff, $source) $x->ShapeCombine($dest, $destKind, $op, $xOff, $yOff, $source, $sourceKind) $x->ShapeOffset($dest, $destKind, $xOff, $yOff) $x->ShapeQueryExtents($dest) => ($boundingShaped, $clipShaped, ($xBoundingShape, $yBoundingShape, $widthBoundingShape, $heightBoundingShape) ($xClipShape, $yClipShape, $widthClipShape, $heightClipShape)) $x->ShapeSelectInput($window, $enable) $x->ShapeInputSelected($window) => $enable $x->ShapeGetRectangles($window, $kind) => ($ordering, [$x, $y, $width, $height], ...) AUTHOR
Stephen McCamant <SMCCAM@cpan.org>. SEE ALSO
perl(1), X11::Protocol, Nonrectangular Window Shape Extension (X Consortium Standard). perl v5.14.2 2003-02-16 Protocol::Ext::SHAPE(3pm)
All times are GMT -4. The time now is 05:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy