Stapelverarbeitung : ändern Sie tab-getrennte Rohre, getrennte
Frage Bearbeiten:
Nun, ich kann von der Registerkarte pipe getrennt. Aber die Daten haben Leerzeichen nach dem text. Wie, um code hinzuzufügen, die in BVT zu Trimm-Raum?
Ursprünglichen Frage :
Möchte ich erstellen nächtlichen batch-Prozess, um text-Datei, trennen durch Tabstopps getrennte Rohre, getrennte.
Und wenn die Daten Leerzeichen nach dem text. wie trimmen Sie den Raum?
Bevor :
Dateiname : Customer_Tab.pwf --> das ist der text-Datei
Daten, die seperate Spalte von tab-delimited:
Customer Number Customer Name Partner Number Partner Name Customer Country
1ABC Jame 1234 Anny USA
2DEF Susan 5678 Prissy UK
Konvertieren von Daten, die durch separate pipe-delimited -
Dateiname : Customer_Pipe.csv -
Daten :
Customer Number|Customer Name|Partner Number|Partner Name|Customer Country
1ABC|Jame|1234|Anny|USA
2DEF|Susan|5678|Prissy|UK
Mir bitte helfen, zu erstellen Sie Stapel.
Ich weiß nicht, wie man erstellen Sie Stapel für diese Frage.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Batch ist eine schlechte Wahl für das ändern von text-Dateien. Es ist übermäßig kompliziert, um eine robuste Lösung, und es ist langsam. Aber es kann getan werden.
Die Lösung Lesen werden sowohl Unix (
<LF>
) und im Windows-Stil (<CR><LF>
) Linien. Die Ausgabe wird im Windows-Stil Linien.Die einzige Einschränkung, die zu den oben genannten ist jede Zeile muss < ~8k in der Länge.
Den
tab
variable ist nicht notwendig. Ich verwendete es, um es offensichtlich, was der code tut.Es ist ein Tabulator-Zeichen nach
!line:
in der letzten Zeile!
Zeichen. Es werden auch Streifen leere Zeilen. Dies kann oder kann nicht ein problem sein, je nach Eingang.Vorausgesetzt, du meinst Stapel, wie im Windows, am einfachsten ist wahrscheinlich den Kopf über die GnuWin32 packages Seite und pick-up eine Kopie von
sed
.Dann können Sie einfach ersetzen die tabs mit pipe-Symbolen mit so etwas wie:
Oder, wenn Sie nichts dagegen haben, bekommen Ihre Hände schmutzig mit ein wenig C-Programmierung:
Kompilieren, das Programm
tab2pipe.c
in die ausführbaretab2pipe
ermöglicht Ihnen das ausführen als:Ich bin mir nicht sicher, wie dies zu tun, die über eine batch-Datei, aber wenn Sie php auf Ihrem system installiert, die Sie verwenden könnte, rufen Sie einfach ein kleines php-Skript von Ihrem batch-Datei wie folgt:
Öffnen Sie die tab-getrennte Datei in Notepad
Löschen Anführungszeichen (
"
) am Anfang und Ende jeder Zeile, wenn es irgendwelche gibt. Plus jedes einzelne Wort auf die sehr, sehr, oben, oben, was Sie möglicherweise in Betracht Spaltenüberschriften... Sie beide werfen aus der Spaltenüberschrift Anerkennung beim öffnen der Datei später wiederÖffnen Microsoft Word in 'Satzzeichen view' (durch den Klick auf die blobby Ding, das aussieht wie ein musikalisches symbol auf der oberen Symbolleiste)
In Word, geben Sie "tab" Platz und Sie werden sehen, ein Pfeil zeigt nach rechts. kopieren in die Zwischenablage
In Notepad, wählen Sie Bearbeiten->ersetzen und fügen Sie die Registerkarte der Marke in der 'suchen nach' Feld und stellen Sie das pipe-Zeichen in der "ersetzen durch" - Feld und wählen 'alle ersetzen'
Job zu erledigen.
Speichern Sie die Datei als
*.txt
aber Präfix mit dem Wortpipe
so dass Sie wissen, welches es ist im Ordner. Öffnen Sie es in Excel als*.txt
- Datei mit pipe als deliminator in 'anderen' und deaktivieren Sie die Kontrollkästchen der Registerkarte aktivieren.