Rename a directory of PDF files by their title as reported by pdfinfo
.
#!/bin/bash
# Rename all PDFs in current dir to their title as reported by `pdfinfo`
mkdir -p "renamed"
mkdir -p "skipped"
for file in *.pdf
do
# Extract title, strip leading and trailing whitespace
PDFTITLE=$(pdfinfo ${file} | awk -F':' '$1=="Title" {print $2}' | xargs)
if [ -z "$PDFTITLE" ]
then
echo "Skipping $file (title missing)"
cp $file skipped/
else
echo "${PDFTITLE}.pdf"
cp $file "renamed/${PDFTITLE}.pdf"
fi
done
pdfinfo ${file} | awk -F':' '$1=="Title" {print $2}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'