Test: Zeilenwahl
Beim Laden von Textdateien im weiteren Sinn, also per [a]
, [b]
, [d]
, [h]
, [p]
, [q]
, [t]
, @script
und @style
, kann der Bereich der zu ladenden Zeilen eingeschränkt werden. Das gilt nicht für Heredocs und Daten-URIs – bei diesen Pseudodateien gäbe es auch keinen Grund, überhaupt mehr Zeilen zu schreiben, als ausgegeben werden sollen.
Die Auswahl erfolgt über einen Query-String, in welchem mehrere Zeilennummern oder Bereiche durch Komma getrennt stehen. Ein Bereich besteht aus einer Anfangs- und einer Endzeilennummer, getrennt durch einen Doppelpunkt. Negative Zeilennummern werden vom Dateiende gezählt.
Aneamal-Dateien
Im Ordner zeilen habe ich eine Datei namens monumente.nml mit folgendem Inhalt angelegt:
?. Lüttich-Bastogne-Lüttich ?. Paris–Roubaix ?. Lombardei-Rundfahrt ?. Mailand–Sanremo ?. Flandern-Rundfahrt
So bindet man sie ein; das Ergebnis wird gleich darunter angezeigt:
[a]->zeilen/monumente.nml
- Lüttich-Bastogne-Lüttich
- Paris–Roubaix
- Lombardei-Rundfahrt
- Mailand–Sanremo
- Flandern-Rundfahrt
Nun werden zunächst nur das französische, dann die belgischen und zu guter Letzt alle nicht belgischen Monumente des Radsports geladen:
[a]->zeilen/monumente.nml?2
- Paris–Roubaix
[a]->zeilen/monumente.nml?1,5
- Lüttich-Bastogne-Lüttich
- Flandern-Rundfahrt
[a]->zeilen/monumente.nml?2:4
- Paris–Roubaix
- Lombardei-Rundfahrt
- Mailand–Sanremo
TSV-Dateien
Zunächst die ganze Datei, dann die erste und letzte Zeile:
[b]->zeilen/tiere.tsv
Name | Art |
---|---|
Migo | Perlebär |
Rudo | Blutegel |
Lex | Zitterspinne |
[b]->zeilen/tiere.tsv?1,-1
Name | Art |
---|---|
Lex | Zitterspinne |
Nun wird die erste Zeile sowie ein Bereich, der von der dritten Zeile von unten bis zur dritten Zeile von oben reicht, geladen. Da ich [p]
statt [b]
verwende, wird die Tabelle zusätzlich transponiert:
[p]->zeilen/tiere.tsv?1,-3:3
Name | Migo | Rudo |
---|---|---|
Art | Perlebär | Blutegel |
HTML-Dateien
Zunächst die ganze Datei, dann eine Auswahl, dann die ganze Datei in umgekehrter Reihenfolge mittels eines Bereiches von der letzten zur ersten Zeile:
[h]->zeilen/test.html
[h]->zeilen/test.html?2,1
[h]->zeilen/test.html?-1:1
Die 69st-letzte Zeile gibt es genauso wenig wie die 44ste Zeile oder einen Bereich von Zeile 0 zu Zeile 0:
[h]->zeilen/test.html?-69,44,0:0
Text-Dateien
Erst die ganze Datei, dann dieselbe Zeile mehrfach ausgewählt (Achtung, Zungenbrecher):
[t]->zeilen/schanzen.txt
Oberstdorf Garmisch-Partenkirchen Innsbruck Bischofshofen
[t]->zeilen/schanzen.txt?2,2,2:2,-3
Garmisch-Partenkirchen Garmisch-Partenkirchen Garmisch-Partenkirchen Garmisch-Partenkirchen
Nun lade ich ein Skript mit dem Modul t-php. Dieses Modul hebt Bestandteile von PHP-Code unterschiedlich farbig hervor. Erst die ganze Datei, dann nur die erste und letzte Zeile:
[t-php]->zeilen/hallo.php
<?php
header ('HTTP/1.1 404 Not Found');
print ('Hallo Welt!');
[t-php]->zeilen/hallo.php?1,-1
<?php
print ('Hallo Welt!');