คุณควรจะโพสต์สิ่งนี้เป็นความคิดเห็นในคำถามอื่น แต่ - แล้ว - คุณจะต้องมีชื่อเสียงมากขึ้นในการทำเช่นนั้น
สคริปต์ของ @ davidgo ซ้ำแล้วซ้ำอีก (จะผ่านโฟลเดอร์และโฟลเดอร์ย่อย) คุณจะต้องแก้ไขecho "$each NOT searchable"
เพื่อเปลี่ยนแปลงสิ่งที่ทำเมื่อพบไฟล์ที่ไม่สามารถค้นหาได้ สิ่งนี้ควรทำเคล็ดลับ:
แก้ไข : มีปัญหาบางอย่างเกี่ยวกับวิธีที่สคริปต์จัดการช่องว่างในชื่อไฟล์และปัญหาอื่น ๆ ที่นี่และที่นั่น ฉันตัดสินใจที่จะปรับปรุงสคริปต์ต้นฉบับของ davidgo ดังนั้นคุณจะเห็นการเปลี่ยนแปลงมากกว่าที่ฉันพูดไว้ข้างต้น
#! /bin/bash
if [[ ! "$#" = "2" ]]
then
echo "Usage: $0 /path/to/PDFDirectory /path/to/TARGETDirectory"
exit 1
fi
PDFDIRECTORY="$1"
TARGETDIR="$2"
while IFS= read -r -d $'\0' FILE; do
PDFFONTS_OUT="$(pdffonts "$FILE" 2>/dev/null)"
RET_PDFFONTS="$?"
FONTS="$(( $(echo "$PDFFONTS_OUT" | wc -l) - 2 ))"
if [[ ! "$RET_PDFFONTS" = "0" ]]
then
READ_ERROR=1
echo "Error while reading $FILE. Skipping..."
continue
fi
if [[ "$FONTS" = "0" ]]
then
echo "NOT SEARCHABLE: $FILE -- Copying to $TARGETDIR."
cp -v "$FILE" "$TARGETDIR/${FILE##*/}"
else
echo "SEARCHABLE: $FILE"
fi
done < <(find "$PDFDIRECTORY" -type f -name '*.pdf' -print0)
echo "Done."
if [[ "$READ_ERROR" = "1" ]]
then
echo "There were some errors."
fi
บันทึกสคริปต์นี้ในไฟล์ว่างใหม่ตั้งชื่อcopy_image_pdf
และทำให้มันสามารถเรียกใช้งานได้ผ่านคุณสมบัติของไฟล์ (ฉันสมมติว่าคุณจะทำสิ่งนี้บน Ubuntu)
จากนั้นเรียกใช้จากเทอร์มินัลโดยระบุไดเรกทอรี PDF และไดเรกทอรีเป้าหมายที่ควรคัดลอกไฟล์ PDF ของรูปภาพเช่น:
copy_image_pdf /media/data/pdffiles /media/data/pdffiles-to-be-ocred