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
WINFF(1)																  WINFF(1)

NAME
winff - video and audio batch converter using ffmpeg SYNOPSIS
winff DESCRIPTION
This manual page documents briefly the winff command. This manual page was written for the Debian(TM) distribution because the original program does not have a manual page. Instead, it has documentation pdf format; see below. WinFF is a graphical user interface for the command line video converter ffmpeg. It runs ffmpeg from the command line. So, you just pick your files and it does the rest. WinFF doesn't actually convert any video files. It just runs ffmpeg. Therefore, It will convert any video file that ffmpeg will convert. Conversely, if ffmpeg will not convert the file, then WinFF will not either. SEE ALSO
For more details, you should have a look at the pdf manual, available at /usr/share/doc/winff/winff.pdf AUTHOR
This manual page was written by Paul Gevers <paul@climbing.nl> for the Debian(TM) system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. COPYRIGHT
Copyright (C) 2008 Paul Gevers june 14, 2008 WINFF(1)
All times are GMT -4. The time now is 07:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy