%job, %j
Verwendung einer Job-Datei mit CSVfox -Befehlen
Beschreibung
Ein
Eine job -Datei ist eine reine Textdatei. Jede Zeile enthält genau einen CSVfox -Befehl. Die Befehle werden also Zeile für Zeile aus der job -Datei gelesen.
Sie werden der Reihe nach verarbeitet, als wären sie in der Befehlszeile an der Position platziert, an der der
Einrückungen, Leerzeilen und Kommentare
Ein oder mehrere führende Leerzeichen werden aus jeder Zeile der job -Datei entfernt.
Achtung: Nachgestellte Leerzeichen in einer Zeile sind Teil des Befehls!
Leere Zeilen werden ignoriert und übersprungen.
Kommentarzeilen beginnen mit einem Rautenzeichen, wie "#". Sie werden ebenfalls ignoriert und übersprungen.
Vorteile gegenüber der direkten Verwendung in der Befehlszeile
Das Verschieben von Befehlen in eine Datei ermöglicht eine bessere Übersichtlichkeit, die Wiederverwendung in verschiedenen Konstellationen und erspart das Anführen von Leerzeichen, die in den Parameter eingebettet sind.
Insbesondere bei einer sehr langen Abfolge von Befehlszeilenparametern oder einer komplexen
In jeder Shell gibt es auch verschiedene Steuerzeichen und Platzhaltermechanismen sowie Weiterleitungs- und Umleitungszeichen, die CSVfox -Befehle beeinträchtigen können. Diese Effekte können auch vollständig vermieden werden, indem eine job -Datei verwendet wird.
Muster
Der%j=filename %job=filename %job/encoding=filename
Mehrere %job Befehle sind in derselben Befehlszeile möglich. %job -Dateien können sogar verschachtelt werden.
Der in der Parameterdatei verwendete Zeichensatz kann optional mit der Option "/" angegeben werden.
In der %job -Datei enthält jede Zeile ein Argument, das andernfalls ein Programmparameter wäre. Jedes Leerzeichen ist Teil des Ausdrucks, sodass eingeschlossene und nachstehende Leerzeichen sorgfältig vermieden werden müssen, wenn sie nicht als Teil des Befehlsausdrucks vorgesehen sind.
Leerzeichen am Anfang werden ignoriert und können zur besseren visuellen Strukturierung der Datei verwendet werden.
Andererseits ist es nicht notwendig, Befehle, Ausdrücke und Feldnamen, die Leerzeichen enthalten, in Anführungszeichen zu setzen, da sie nicht automatisch an Leerzeichen getrennt werden.
Eine %job -Datei kann jede unterstützte Kodierung haben, sodass sie alle einschränkenden oder Befehlszeilen-Zeichensätze überwindet. Dies ist besonders wichtig für Windows, da in Linux oder MacOS eine UTF-8-Shell Standard ist, was nur wenige Zeicheneinschränkungen bedeutet.
Stellen Sie sich die Befehlszeilenfolge vor:
- csvfox infile.csv +delim=, -delim=; -set[a]=([*]+20%) "my output file.csv"
Und von nun an können Sie einfach Folgendes aufrufen:
- csvfox %job=changedelimiters.txt
Sie können alle oder nur einige der erforderlichen Parameter in eine %job -Datei einfügen. Auf diese Weise können Sie einige Bausteine vorbereiten, die häufig verwendet werden können.
Anwendungsbeispiele
- csvfox infile.csv %job=us_to_german.txt outfile.csv
- Die Datei %job file us_to_german.txt enthält eine Reihe von Umwandlungen, die vorgenommen werden können, um eine CSV -Datei, die den US-amerikanischen Gepflogenheiten entspricht, besser an das deutsche Gebietsschema anzupassen (auf einem älteren Windows-PC). Sie ändert das Trennzeichen CSV von Komma zu Semikolon, die Kodierung von ASCII zu Windows-1252 und ersetzt den Dezimalpunkt im Feld "Preis" durch ein Dezimalkomma.us_to_german.txt# reformat from ASCII to windows+delim =,+encoding =ASCII-delim =;-encoding =Windows-1252-regex [Price]=\d\.\d/\1,\2
Die Datei wird hier verwendet, um infile.csv in outfile.csv zu ändern. - csvfox infile.csv %job/UTF-8=us_to_german.txt outfile.csv
- Liest die Befehle von us_to_german.txt explizit im UTF-8-Format statt im plattformspezifischen Standardformat und verwendet sie zur Änderung von infile.csv in outfile.csv.
- csvfox infile.csv %job=us_to_german.txt -rename[Price]=[Amount] -columns=[3]-[6] outfile.csv
- Liest die Befehle erneut von us_to_german.txt und verwendet sie für die Änderung von infile.csv in outfile.csv.
Und es gibt weitere Befehle auszuführen, da das Feld "Preis" in outfile.csv in "Betrag" umbenannt werden muss und die Ausgabedatei nur die Felder mit den Nummern 3 bis 6 enthalten soll.