Fehler im Script korrigiert, neue Version 0.4

This commit is contained in:
Felix Lohmeier 2017-11-02 09:49:07 +01:00
parent 73ae949150
commit c44d08f2e0
1 changed files with 5 additions and 5 deletions

View File

@ -1,20 +1,20 @@
#!/bin/bash #!/bin/bash
# Script zum Download von Metadaten über SRU-Schnittstellen mit curl # Script zum Download von Metadaten über SRU-Schnittstellen mit curl
# sru-download.sh, Felix Lohmeier, v0.3, 01.11.2017 # sru-download.sh, Felix Lohmeier, v0.4, 02.11.2017
# https://github.com/felixlohmeier/kurs-bibliotheks-und-archivinformatik/ # https://github.com/felixlohmeier/kurs-bibliotheks-und-archivinformatik/
# Variablen (bei Bedarf hier anpassen) # Variablen (bei Bedarf hier anpassen)
url="sru.swissbib.ch/sru/search/defaultdb" url="sru.swissbib.ch/sru/search/defaultdb"
query="dc.anywhere+%3D+Albert+Einstein+AND+dc.xNetwork+%3D+NEBIS" query="dc.anywhere+%3D+Albert+Einstein+AND+dc.xNetwork+%3D+NEBIS"
format="info%3Asrw%2Fschema%2F1%2Fmarcxml-v1.1-light" format="info%3Asrw%2Fschema%2F1%2Fmarcxml-v1.1-light"
outputdir="download" outputdir="Downloads"
filename="einstein-nebis" filename="einstein-nebis"
recordlimitperquery=100 recordlimitperquery=100
# Weitere technische Variablen # Weitere technische Variablen
date="$(date +%F)" date="$(date +%F)"
datelog="$(date +%Y%m%d_%H%M%S)" datelog="$(date +%Y%m%d_%H%M%S)"
command="?operation=searchRetrieve" command="?operation=searchRetrieve"
startrecord=1 startrecord=0
let counter=startrecord+recordlimitperquery-1 let counter=startrecord+recordlimitperquery-1
# Verzeichnis erstellen (falls nicht vorhanden) # Verzeichnis erstellen (falls nicht vorhanden)
@ -42,11 +42,11 @@ echo "Startzeitpunkt: $(date)"
echo "" echo ""
# Schleife mit Aufruf von curl # Schleife mit Aufruf von curl
while (("$counter" <= "$records")) ; do while (($(($counter - $recordlimitperquery)) <= $records)) ; do
echo "Download Records "${startrecord}" bis "${counter}"..." echo "Download Records "${startrecord}" bis "${counter}"..."
curl "${url}${command}&query=${query}&maximumRecords=${recordlimitperquery}&recordSchema=${format}&startRecord=${startrecord}" > $outputdir/${filename}_${date}_$(printf "%.7i\n" ${startrecord})-$(printf "%.7i\n" ${counter}).xml curl "${url}${command}&query=${query}&maximumRecords=${recordlimitperquery}&recordSchema=${format}&startRecord=${startrecord}" > $outputdir/${filename}_${date}_$(printf "%.7i\n" ${startrecord})-$(printf "%.7i\n" ${counter}).xml
# Sofortige Prüfung des Downloads, wenn Format marcxml # Sofortige Prüfung des Downloads, wenn Format marcxml
if [ $format = "marcxml" ]; then if [[ "$format" == *"marcxml"* ]]; then
echo "Ergebnis: "$(grep -c -H '<controlfield tag="001">' $outputdir/${filename}_${date}_$(printf "%.7i\n" ${startrecord})-$(printf "%.7i\n" ${counter}).xml)" records" echo "Ergebnis: "$(grep -c -H '<controlfield tag="001">' $outputdir/${filename}_${date}_$(printf "%.7i\n" ${startrecord})-$(printf "%.7i\n" ${counter}).xml)" records"
fi fi
echo "" echo ""