Sponsored Content
Top Forums Shell Programming and Scripting Script to batch pdfjoin based on pdfgrep output Post 302605807 by nopposan on Thursday 8th of March 2012 02:25:20 PM
Old 03-08-2012
Mostly solved. A little advice needed to perfect.

Hello again, everybody. I've got a script that works pretty well, but only for files that are named without leading zeros. Our files are named with leading zeros. Please see the #comments# in the script which follows.

Code:
#!bin/bash
# This script works in its current form, but it's written for files that are named with the pattern pg_1.pdf, without leading zeros. Our files are named with four digits, the leading zeros being present if the page number is less than 1000. 'Need a script that will work with files named with the pattern pg_0001.pdf

a=1 #Sets the starting page equal to 1. 'Could set with user input.
b=$(($a+1))#Sets the next page equal to one more than the starting page.

Filename="pg_"$a".pdf" # This is the filename of the starting page.

until [ $b == 6 ]; do # The number sets the maximum pages to be considered for concatenation. Again, it could be set using user input.

Filename2="pg_"$b".pdf" # This is the filename of the next file to be considered for concatenation to the current file.

x=`pdfgrep -C 0 [0-9]\{7\} $Filename | head -n 1` # pdfgrep with option to capture only zero characters other than the seven digits in the employee ID; this is piped to head in order to get just the first occurrence.
y=`pdfgrep -C 0 [0-9]\{7\} $Filename2 | head -n 1`

if [ "$x" == "$y" ]; then 
    pdfjoin --rotateoversize 'false' $Filename $Filename2 --outfile $Filename # If the employee ID's are equal, then the pdf files are concatenated into a new file, which is given the name of the first file that's added to.
    rm $Filename2 # If the file is concatenated to a previous file, it is removed.
else
Filename=$Filename2 # If no match is found and the file is not concatenated, then advance the current origination file, Filename, to the name of the non-concatenated/non-matching file.

fi

b=$(($b+1)) # Advance the page number of the next file, Filename2.

done
exit


Last edited by Corona688; 03-08-2012 at 03:46 PM.. Reason: Code tags for code, please.
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script to email based on flat file output

Hi All, I am a newbee in unix but still have written a shell script which should trigger a mail based on certain conditions but the problem is that my file is not being read. Below is the code please advise. I do not know where is it failing. Note $ and the no followed with it is the no of... (1 Reply)
Discussion started by: apoorva
1 Replies

2. Shell Programming and Scripting

Automatically Rerun a script based on previous execution output

Hi Experts, I have a shell script called "updatevs" that is scheduled to run at 6.00 am everyday via cronjob. The cronjob will execute this script and output to a log file. The functionality of this script is to read the database and run a set of commands. This script is generally successful... (6 Replies)
Discussion started by: forumthreads
6 Replies

3. Shell Programming and Scripting

Converting line output to column based output

Hi Guys, I am trying to convert a file which has a row based output to a column based output. My original file looks like this: 1 2 3 4 5 6 1 2 3 1 2 3 (8 Replies)
Discussion started by: npatwardhan
8 Replies

4. Shell Programming and Scripting

help with email to be triggered based on fatal error detection from batch run log file neded

Hi, I require need help in two aspects actually: 1) Fatal error that gets generated as %F% from a log file say ABClog.dat to trigger a mail. At present I manually grep the log file as <grep %F% ABClog.dat| cut-d "%" -f1>. The idea is to use this same logic to grep the log file which is... (1 Reply)
Discussion started by: zico1986
1 Replies

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

6. UNIX for Advanced & Expert Users

Limiting size of rsync batch output

Anyone know if there's a way to limit the size of rsync batch output blob? I need each batch to fix on a 64GB USB key. Using syntax like: rsync -av --only-write-batch=/Volumes/usb/batch --stats /Users/dfbadmin/sandbox/ /Users/dfbadmin/archives/ (7 Replies)
Discussion started by: dfbills
7 Replies

7. Shell Programming and Scripting

Extract batch based on condition

HI, I have a file as mentioned below. Here one batch is for one user id.Batch starts from |T row and ends at .T row. I want to create a new file by reading this file. The condition is for record 10(position 1-2), if position 3 to position 17 is 0 then delete the entire batch and write into the new... (9 Replies)
Discussion started by: abhi.mit32
9 Replies

8. Shell Programming and Scripting

SFTP or scp with password in a batch script without using SSH keys and expect script

Dear All, I have a requirement where I have to SFTP or SCP a file in a batch script. Unfortunately, the destination server setup is such that it doesn't allow for shell command line login. So, I am not able to set up SSH keys. My source server is having issues with Expect. So, unable to use... (5 Replies)
Discussion started by: ss112233
5 Replies

9. UNIX for Beginners Questions & Answers

Finding The Complete SQL statement Using PDFGREP Or Grep

Linux Gods, I am simply attempting to parse SQL statements from a PDF doc in creating a base SQL script at a later time but for the life of me, am having a tough time extracting this data.This exact string worked perfectly a couple of months ago and now it doesnt. Below is an example of the data... (4 Replies)
Discussion started by: metallica1973
4 Replies
POD2PDF(1p)						User Contributed Perl Documentation					       POD2PDF(1p)

NAME
pod2pdf - converts Pod to PDF format DESCRIPTION
pod2pdf converts documents written in Perl's POD (Plain Old Documentation) format to PDF files. Usage pod2pdf [options] input.pod >output.pdf If no input filename is specified, pod2pdf will read from STDIN, e.g. perldoc -u File::Find | pod2pdf [options] >File-Find.pdf Options pod2pdf accepts the following command-line options: "--output-file" Sets the output filename for the generated PDF file. By default pod2pdf will output to STDOUT. "--page-size" Sets the page size to be used in the PDF file, can be set to any of the standard paper sizes (A4, A5, Letter, etc). Defaults to A4. "--page-orientation" Controls if pages are produces in landscape or portrait format. Defaults to 'portrait'. "--page-width", "--page-height" Sets the width and height of the generated pages in points (for using non-standard paper sizes). "--left-margin", "--right-margin", "--top-margin", "--bottom-margin" Allows each of the page margins (top, bottom, left, and right) to be individually set in points. "--margins" Sets all page margins to the same size (specified in points). "--header", "--noheader" Controls if a header (containing the page title, and optional timestamp and icon) will be included on each page. Defaults to on, so use "--noheader" to disable. "--title" Sets the page title (defaults to the input filename). "--timestamp" Boolean option - if set, includes the 'last modified' timestamp of the input file in the page header. "--icon" Filename of an icon to be displayed in the top left corner of each page. "--icon-scale" Scaling value for the header icon (defaults to 0.25). "--footer", "--nofooter" Controls if a footer (containg the current page number and optional text string) will be included on each page. By default the footer will be included, so use "--nofooter" to disable. "--footer-text" Sets an optional footer text string that will be included in the bottom left corner of each page. "--outlines" Adds outlines (bookmarks) to pdf according to headings (=head1, =head2, ...). "--version" Prints version number and exits. Configuration files Sets of command-line options may be saved into configuration files. A configuration file contains options in the same format as used by pod2pdf on the command-line, with one option given on each line of the file, e.g. --page-size A5 --page-orientation landscape To use a config file, invoke pod2pdf with the option "@/path/to/configfile.conf". For example, if you wanted to always include a company logo, timestamp, and copyright notice in your PDF files, create a file mycompany.conf containing the following: --icon "/path/to/your/logo.png" --footer-text "Copyright 2007 MyCompany Limited" --timestamp Then invoke pod2pdf as: pod2pdf @/path/to/mycompany.conf input.pod >output.pdf If you create a config file called pod2pdf.conf and place this in the same directory as the pod2pdf script, it will be loaded as the default configuration. POD ENTENSIONS
As well as the standard POD commands (see perlpodspec), pod2pdf supports the following extensions to the POD format: "=ff" The "=ff" command inserts a page bread (form feed) into the document. "O<...>" The "O<...>" formatting code inserts an external object (file) into the document. This is primarily intended for embedding images, e.g. O</path/to/figure1.jpg> to insert diagrams, etc into documentation. pod2pdf supports the file types JPG, GIF, TIFF, PNG, and PNM for embedded objects. DEPENDENCIES
pod2pdf requires the following modules to be installed: PDF::API2 Pod::Escapes Getopt::ArgvFile Additionally to use images, the modules File::Type and Image::Size must be installed, and to specify alternative page sizes the Paper::Specs module is required. SEE ALSO
The pod2pdf homepage: <http://perl.jonallen.info/projects/pod2pdf> For more information about POD, read the perlpod manpage or see the POD page on the Perl 5 Wiki (<http://www.perlfoundation.org/perl5/index.cgi?pod>). COPYRIGHT and LICENSE Copyright (C) 2007 Jon Allen (JJ) <jj@jonallen.info> This software is licensed under the terms of the Artistic License version 2.0. For full license details, please read the file artistic-2_0.txt included with this distribution, or see http://www.perlfoundation.org/legal/licenses/artistic-2_0.html <http://www.perlfoundation.org/legal/licenses/artistic-2_0.html>. perl v5.14.2 2012-04-20 POD2PDF(1p)
All times are GMT -4. The time now is 02:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy