Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CSV untereinander verketten..?

Frage Entwicklung Batch & Shell

Mitglied: chrislm

chrislm (Level 1) - Jetzt verbinden

05.03.2012 um 16:48 Uhr, 3620 Aufrufe, 6 Kommentare

Hallo.
Ich habe nochmal eine Frage wegen einer Batch: Ich sortiere regelmäßig eine CSV von Hand über Openoffice. Nun dachte ich mir, das könnte doch auch über eine Batch funktionieren. Es klappt auch soweit bisauf zwei Sachen, Straße und Hausnummer sollen miteinander verkettet werden. zuerst mal wie ich mir das Gedacht habe:
for /f "tokens=1,8,1-8 delims=; " %%a in (eingang.csv) do echo ;;%%a;%%b;%%d;%%e;%%f %%g;%%c;%%h>>ausgang.txt

In der ersten Spalte brauche ich eigentlich eine fortlaufende Nummer, hier in der Zeile habe ich nur durch ein ; als Platzhalter hinterlegt.
%%f und %%g möchte ich verketten, das ist meine Straße und Hausnummer in einem Feld stehen. Leider ist die Straße text und steht noch in Anführungszeichen:; "Hauptstr" 1; gibts einen Trick wie ich die 1 noch in das Feld schmuggeln kann?
Und die Sache mit der fortlaufenden Nummer..
Mitglied: hmarkus
05.03.2012 um 17:00 Uhr
Hallo,

muss es Batch sein?

Was ich meine ist, wenn Du OpenOffice benutzt, wieso benutzt Du dann ein Batch-Skript um die Daten zu sortieren? Auch in OpenOffice sollte sich das automatisieren lassen.
Und wenn Du das nicht möchtest, dann gibt's eine große Zahl an Programmiersprachen, mit denen Du solche Sachen in wenigen Zeilen erledigen kannst (Perl, Awk, Python, Ruby, VB, ...).

Wenn's Perl sein darf, dann poste bitte mal eine Beispielzeile, damit man mal sieht was gemacht werden soll.

Markus
Bitte warten ..
Mitglied: chrislm
05.03.2012 um 17:03 Uhr
VBS würde auch gehen aber ich mag die klassischen DOS Dinger, deswegen lande ich immer zuerst hier...
Bitte warten ..
Mitglied: Skyemugen
05.03.2012 um 17:26 Uhr
Aloha,

wie wo was fortlaufende Nummer, fortlaufend pro Datei, pro Zeile, pro keine Ahnung was, pro Batchaufruf? ... EIn bisschen genauer, wenn's geht.

Was dein Straßenproblem angeht, sollte %%~f dir die Lösung bieten.

greetz André
Bitte warten ..
Mitglied: bastla
05.03.2012 um 19:41 Uhr
Hallo chrislm!

Das "Sortieren" lese ich aus Deinem Ansatz zwar noch nicht heraus, aber zumindest hinsichtlich der Nummerierung könnte ich ergänzend zu Skyes Vorschlag für die "Straße" noch etwas (Ungetestetes) beitragen:
for /f "tokens=1-9 delims=:;" %%a in ('findstr /n "^" eingang.csv') do >>ausgang.txt echo %%a;%%b;%%c;%%e;%%f;%%~g %%d;%%i
Sollten die Daten ":" enthalten, wäre eine zusätzliche Schleife erforderlich:
for /f "tokens=1* delims=:" %%x in ('findstr /n "^" eingang.csv') do for /f "tokens=1-8 delims=;" %%a in ("%%y") do >>ausgang.txt echo %%x;%%a;%%b;%%d;%%e;%%~f %%c;%%h
Grüße
bastla
Bitte warten ..
Mitglied: chrislm
06.03.2012 um 08:04 Uhr
Das ist wie immer klasse hier im Forum. Mir wurde immer sofort weitergeholfen fafür vielen dank!
Das script von Bastler läuft bisauf eine sache: Die Straße mit vollen Zahlen werden sind Perfekt. Aber die mit z.B. 9a stehen in anführungszeichen: Hauptstr "9a". aber zur Not muss ich diese dann dochnoch von Hand editieren...

Aber das mit der fortlaufenden Nummer klappt so wie ich es wollte...
Bitte warten ..
Mitglied: chrislm
06.03.2012 um 08:56 Uhr
Ich habs, hab einfach noch eine ~ dazwischen gesetzt...

vielen dank!!!!
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
CSV Stapelverarbeitung mit Filterfunktion für große Datenmengen (8)

Frage von Rippchen zum Thema Batch & Shell ...

Virtualisierung
gelöst Interne Netzwerke untereinander kommunizieren lassen (9)

Frage von chelewae zum Thema Virtualisierung ...

Batch & Shell
gelöst 2 Csv -Dateien zum Teil zusammenfügen (6)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...