Sponsored Content
Top Forums Shell Programming and Scripting Script to batch pdfjoin based on pdfgrep output Post 302606162 by nopposan on Friday 9th of March 2012 05:11:47 PM
Old 03-09-2012
printf is nifty

Thanks!

Here's my updated script. I haven't tested it yet as I don't have any practice material at the moment.

Code:
#!bin/bash
# This script is written for files that are named with the pattern
#pg_0001.pdf, with leading zeros.

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

Filename="pg_"`printf "%04d" $a`".pdf" # This is the filename of the
#starting page. The printf command is used to format the number with
#up to three leading zeros.

until [ $b == 680 ]; do # This line sets the maximum pages to be
#considered for concatenation.
Filename2="pg_"`printf "%04d" $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, -C, capture 0 characters other than the 7 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
cp $Filename Empl_ID_"$x".pdf # Replace page number name with name
#based on Empl_ID.
#rm $Filename # Uncomment to remove the original file.
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

cp $Filename Empl_ID_"$x".pdf # Finally, when all else is done,
#replace page number name with name of last file with one based on
#Empl_ID.

#rm $Filename # Uncomment to remove the original last file.

exit


Last edited by Corona688; 03-09-2012 at 06:32 PM.. Reason: Code tags, 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
fookb(1)							    FOOcrosoft								  fookb(1)

NAME
fookb-plainx - Xkb state indicator without Window Maker support SYNOPSIS
fookb-plainx [options] DESCRIPTION
fookb is a Xkb state indicator. It displays the icon corresponding to the number of Xkb locked group. You may use mouse-clicks to change Xkb locked group with mouse. Additionally, fookb can be configured to execute a program on changing group. fookb man page is based on WMMail.app man page. Program was written from scratch. To use fookb with the Window Maker Dock, simply drag the fookb icon to the Window Maker Dock (if fookb was compiled with Window Maker sup- port). OPTIONS
NB! Command line parameters take precedence over config file or X resources! -icon1 -icon2 -icon3 -icon4 -iconboom -display CONFIGURATION FILE (for libWUtil-enabled version) The configuration file consist of a single PropList dictionary, which in turn is composed of several PropList key-value pairs. The recog- nized keys is: Icon1 Filename (mandatory) XPM file contains an icon (48x48) for 1st XKB group. Icon2 Filename (mandatory) XPM file contains an icon (48x48) for 2nd XKB group. Icon3 Filename (mandatory) XPM file contains an icon (48x48) for 3rd XKB group. Icon4 Filename (mandatory) XPM file contains an icon (48x48) for 4th XKB group. IconBoom Filename (mandatory) XPM file contains an icon (48x48) for "broken Xkb". Please look in BUGS section. Sound (Yes|No) fookb will run command from "Command" value (see below), if this parameter is set to "Yes". You'll receive (non-fatal) error message if this parameter is not defined. In any other case command will not be run. Command command_to_run This command will be run if XKB locked group is changed and "Sound" is set to "Yes". X resources NB! Parameters in PropList config file take precedence over X resources! fookb.icon1 Filename fookb.icon2 Filename fookb.icon3 Filename fookb.icon4 Filename fookb.iconBoom Filename fookb.sound Yes/No fookb.command Command EXAMPLES
Here is an example of configuration file. { Icon1 = "/usr/local/share/fookb/icon1.xpm"; Icon2 = "/usr/local/share/fookb/icon2.xpm"; Icon3 = "/usr/local/share/fookb/icon3.xpm"; Icon4 = "/usr/local/share/fookb/icon4.xpm"; IconBoom = "/usr/local/share/fookb/crash.xpm"; Sound = "Yes"; Command = "/usr/bin/play /usr/local/share/fookb/click.au"; } Here is an example of app-defaults file. fookb.icon1: /usr/local/share/fookb/icon1.xpm fookb.icon2: /usr/local/share/fookb/icon2.xpm fookb.icon3: /usr/local/share/fookb/icon3.xpm fookb.icon4: /usr/local/share/fookb/icon4.xpm fookb.iconBoom: /usr/local/share/fookb/crash.xpm fookb.sound: Yes fookb.command: /home/bgates/bin/playmssound FILES
~/GNUstep/Defaults/FOOkb fookb defaults (for Window Maker enabled version). ~/.fookb fookb defaults (for Window Maker disabled version). BUGS
Sometimes fookb receives message about changing XKB group, but message.state.group does not point to any existing XKB group. In this case fookb will show IconBoom (from config file) picture. As far as I know the only way to look at this bug is to run vmware. VERSION
This man page is [hopefully] up-to-date for version 3.0 of fookb. AUTHORS
fookb is (c) 1998-2002 Alexey Vyskubov <alexey@mawhrin.net>. This manpage was written by Alexey Vyskubov <alexey@mawhrin.net>. fookb 10 Jan 2002 fookb(1)
All times are GMT -4. The time now is 06:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy