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
All times are GMT -4. The time now is 11:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy