#!/bin/bash # PDF内容全文搜索 # Usage: pdf_search.sh KEYWORD="$1" INDEX_DIR="/root/personal/learn/pdf_index" if [ -z "$KEYWORD" ]; then echo "Usage: pdf_search.sh " echo "Examples:" echo " pdf_search.sh single.shunt" echo " pdf_search.sh reverse.rotation" echo " pdf_search.sh CiA402" exit 1 fi echo "=== 文件名匹配 ===" grep -i "$KEYWORD" "$INDEX_DIR/manifest.txt" | awk -F' @@@ ' '{print " " $1}' echo "" echo "=== 全文搜索(搜索PDF内容)===" # 搜索最相关的核心PDF目录 for dir in /root/personal/learn/lectures/BLDC_FOC/ \ /root/personal/learn/bldc_motor_control/pdfs/app_notes/ \ /root/personal/learn/humanoid_robot/ \ /root/personal/learn/oopc/; do find "$dir" -name "*.pdf" -type f 2>/dev/null | while read pdf; do result=$(pdftotext "$pdf" - 2>/dev/null | grep -i "$KEYWORD" | head -3) if [ -n "$result" ]; then fname=$(basename "$pdf") echo "" echo " 📄 $fname" echo "$result" | while read line; do echo " → $(echo $line | tr -d '\000' | cut -c1-120)" done fi done done echo "" echo "=== 搜索完成 ==="