ฉันจะระบุไฟล์ PDF ที่ไม่สามารถค้นหาได้ซ้ำและคัดลอกไปยังโฟลเดอร์ได้อย่างไร?


1

เพิ่มเติมจากโพสต์ก่อนหน้าซึ่งให้โซลูชันสคริปต์:

จากคำถามของฉันอาจเป็นไปได้ที่จะบอกว่าฉันเป็นผู้ใช้คอมพิวเตอร์และไม่มีความรู้ด้านการเขียนโปรแกรม

ฉันมีไฟล์ PDF ที่สามารถค้นหาได้และไม่สามารถค้นหาได้หลายร้อยไฟล์ในโฟลเดอร์และโฟลเดอร์ย่อยต่าง ๆ บนฮาร์ดไดรฟ์ภายนอก

ฉันมีคอมพิวเตอร์ที่ใช้ Windows 7 และ Ubuntu 14.04

ฉันจะแก้ไขสคริปต์นี้เพื่อระบุโฟลเดอร์หลักและค้นหาโฟลเดอร์ย่อยจากนั้นสร้างรายงานที่ระบุชื่อไฟล์และตำแหน่งที่ตั้งได้อย่างไร

หากความปรารถนาเป็นจริงแล้วสิ่งนี้จะอยู่ใน GUI และคัดลอกไฟล์ที่ไม่มีข้อความลงในโฟลเดอร์ทั่วไปที่ซึ่ง Abbyy Pro สามารถแบตช์ OCR ได้

คำตอบ:


0

คุณควรจะโพสต์สิ่งนี้เป็นความคิดเห็นในคำถามอื่น แต่ - แล้ว - คุณจะต้องมีชื่อเสียงมากขึ้นในการทำเช่นนั้น

สคริปต์ของ @ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.