#!/bin/bash # Directory containing the papers PAPER_DIR="../papers" echo "Fetching abstracts for arXiv papers in $PAPER_DIR..." echo "====================================================" for file in "$PAPER_DIR"/*.pdf; do # Extract the arXiv ID (e.g., 2401.05566) from the filename filename=$(basename "$file") id=$(echo "$filename" | grep -oE '[0-9]{4}\.[0-9]{4,5}') if [ -n "$id" ]; then echo "FILE: $filename" echo "ID: $id" # Fetch XML from arXiv API and parse the tag using Python curl -s "https://export.arxiv.org/api/query?id_list=$id" | \ python3 -c " import sys, xml.etree.ElementTree as ET try: xml_data = sys.stdin.read() root = ET.fromstring(xml_data) ns = {'atom': 'http://www.w3.org/2005/Atom'} summary = root.find('.//atom:summary', ns) if summary is not None: print(summary.text.strip()) else: print('Abstract not found in API response.') except Exception as e: print(f'Error parsing response: {e}') " echo "----------------------------------------------------" else echo "Skipping: $filename (No arXiv ID detected)" echo "----------------------------------------------------" fi sleep 1 done