print

Mithilfe des print-Kommandos können Datensätze in einer menschenlesbaren Form auf dem Terminal ausgegeben oder in eine Datei geschrieben werden. Das Format ist an die Darstellung in der WinIBW angelehnt: Felder werden zeilenweise ausgegeben; zuerst wird das Feld (bspw. 003@), dann - sofern vorhanden - die Okkurrenz (bspw. /01), und schließlich die Liste von Unterfeldern ausgegeben. Dem Unterfeld-Code wird ein Dollarzeichen vorangestellt. Die Unterfeldwerte werden genau so ausgegeben, wie sie im Datensatz vorhanden sind; es findet kein [Escaping] von Sonderzeichen statt. Einzelne Datensätze werden durch eine Leerzeile voneinander getrennt.

Der folgende Befehl gibt den ersten Datensatz aus:

$ pica print -s -l 1 DUMP.dat.gz
001A $0 1250:01-07-88
001B $0 9999:15-04-22 $t 15:15:00.000
001D $0 0292:01-08-19
001U $0 utf8
001X $0 0
002@ $0 Tpz
003@ $0 118540238
003U $a http://d-nb.info/gnd/118540238 $z http://d-nb.info/gnd/185808069 $z http://d-nb.info/gnd/185848826 $z http://d-nb.info/gnd/101488358X $z http://d-nb.info/gnd/1014927390 $z http://d-nb.info/gnd/1022736213 $z http://d-nb.info/gnd/1095607278 $z http://d-nb.info/gnd/1131918517
004B $a piz
006Y $S isni $0 0000 0001 2099 9104
006Y $S wikidata $0 Q5879
...

Optionen

--translit <nf>
Ausgabe wird in die angegebene Normalform transliteriert. Mögliche Werte: nfd, nfkd, nfc und nfkc.
-p, --progress
Anzeige des Fortschritts, der die Anzahl der eingelesenen gültigen sowie invaliden Datensätze anzeigt. Das Aktivieren der Option erfordert das Schreiben der Datensätze in eine Datei mittels -o bzw. --output.
-o, --output
Angabe, in welche Datei die Ausgabe geschrieben werden soll. Standardmäßig wird die Ausgabe in die Standardausgabe stdout geschrieben.

Filter-Optionen

-s, --skip-invalid
Überspringt jene Zeilen aus der Eingabe, die nicht dekodiert werden konnten.
-l <number>, --limit <number>
Eingrenzung der Ausgabe auf die ersten n Datensätze.
-i, --ignore-case
Groß- und Kleinschreibung wird bei Vergleichen ignoriert.
--strsim-threshold <value>
Festlegen des Schwellenwerts beim Ähnlichkeitsvergleich von Zeichenketten mittels =*.
-A <file>, --allow-list <file>
Es werden alle Datensätze ignoriert, die nicht explizit in der Positivliste auftauchen. Werden mehrere Positivlisten angegeben, wird die Mengenvereinigung aus allen Listen gebildet.
-D <file>, --deny-list <file>
Es werden alle Datensätze ignoriert, die in der Negativliste auftauchen. Werden mehrere Negativlisten angegeben, wird die Mengenvereinigung aus allen Listen gebildet.
--filter-set-column <column>
Legt den Spaltennamen fest, der die Referenzwerte einer Allow- bzw. Deny-Liste enthält. Wird die Option nicht angegeben, werden die Werte aus der Spalte ppn bzw. idn ausgelesen. Die idn-Spalte wird nur versucht zu lesen, wenn keine ppn-Spalte vorhanden ist.
--filter-set-path <path>
Ein Pfadausdruck, der zur Ermittlung der Vergleichswerte genutzt wird. Ist die Option nicht angegeben, wird von einem Vergleich mit der PPN im Feld 003@.0 eines Datensatzes ausgegen.
--where <expr>
Angabe eines Filters, um Datensätze aus der Eingabe auszuwählen.
--and <expr>
Hinzufügen eines zusätzlichen Filters mittels der booleschen &&-Verknüpfung. Der ursprüngliche Filterausdruck <filter> wird zum Ausdruck <filter> && <expr>.
--or <expr>
Hinzufügen eines zusätzlichen Filters mittels der booleschen ||-Verknüpfung. Der ursprüngliche Filterausdruck <filter> wird zum Ausdruck <filter> || <expr>.
--not <expr>
Hinzufügen eines zusätzlichen Filters. Der ursprüngliche Filterausdruck <filter> wird zum Ausdruck <filter> && !(<expr>).

Beispiele

Transliteration der Ausgabe

Standardmäßig werden die Unterfeldwerte so ausgegeben, wie sie im Datensatz vorkommen. Mit der Option --translit werden die Werte in die angegebene Unicode-Normalform transliteriert.

$ pica print -s -l1 --translit nfc DUMP.dat.gz
...
028@ $d Yohan Wolfgang $a Gete
028@ $d Yôhân Wôlfgang $c fôn $a Gete
028@ $d Yôhan Wolfgang $a Gête
028@ $d Yohann Volfqanq $a Gete
028@ $d Yogann Volʹfgang $a Gete
...
028@ $T 01 $U Cyrl $L uzb $d Йоҳанн Волфганг $a Гёте
028@ $T 01 $U Hans $P 歌德 $5 DE-576
028@ $T 01 $U Hant $P 約翰・沃爾夫岡・馮・歌德 $5 DE-576
028@ $T 01 $U Hans $P 约翰・沃尔夫冈・冯・歌德 $5 DE-576
028@ $T 01 $U Jpan $d ヨハン・ヴォルフガング・フォン $a ゲーテ $5 DE-576
028@ $T 01 $U Hebr $d יוהן וולפגנג פון $a גתה
028@ $T 01 $U Hans $P 歌德
028@ $T 01 $U Jpan $d ヨハン・ヴォルフガング・フォン $a ゲーテ
028@ $T 01 $U Geor $d იოჰან ვოლფგანგ ფონ $a გოეთე
028A $d Johann Wolfgang $c von $a Goethe
...