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

Spalten mit Inhalt an csv mit Batchscript anfügen

Frage Entwicklung Batch & Shell

Mitglied: hospiman

hospiman (Level 1) - Jetzt verbinden

10.12.2013, aktualisiert 11:35 Uhr, 1329 Aufrufe, 6 Kommentare, 1 Danke

Hallo an die Profis,

ich habe eine .csv Datei die ich jeden Tag aktualisiert bekomme. Um die in einer Software weiterzuverarbeiten fehlen mir Spalten mit immer dem selben Inhalt.

Bsp.
org Datei

Spalte1;Spalte2;Spalte3
112222;5555555;333333
112223;8888888;555555
112224;9999999;666666

benötigtest Format
Spalte1;Spalte2;Spalte3;neueSpalte
112222;5555555;333333;11
112223;8888888;555555;11
112224;9999999;666666;11
Mitglied: Lochkartenstanzer
10.12.2013, aktualisiert um 10:45 Uhr
Zitat von hospiman:

org Datei
Spalte1;Spalte2;Spalte3
112222;5555555;333333
...

benötigtest Format
Spalte1;Spalte2;Spalte3;neueSpalte
112222;5555555;333333;11
...

Moin

sed -e 's:$:;11:g' datei.csv > neuedatei.csv
sollte es tun.

lks


PS: sed gibt es im cygwin-Paket oder als separates windows-binary zum download, falls es unter windows benötigt wird.
PPS: Falls tatsächlich die Überschrift korrekt umgesetzt werden muß, kann man das auch so schreiben:

sed -e 's:$:;11:g' datei.csv | sed -e 's:Spalte1;Spalte2;Spalte3;11:Spalte1;Spalte2;Spalte3;neueSpalte:g'  > neuedatei.csv
Bitte warten ..
Mitglied: hospiman
10.12.2013 um 11:13 Uhr
Vielen Dank für Deine schnelle Antwort Lochkartenstanzer,

bin da bisl unbeholfen über ein Batchscript ist das nicht möglich oder ? Ich habe cygwin binary herunter geladen leider bekomme ich über cmd das der Befehl nicht verfügbar ist.
Bitte warten ..
Mitglied: Lochkartenstanzer
10.12.2013, aktualisiert um 11:30 Uhr
Zitat von hospiman:

Vielen Dank für Deine schnelle Antwort Lochkartenstanzer,

bin da bisl unbeholfen über ein Batchscript ist das nicht möglich oder ? Ich habe cygwin binary herunter geladen leider
bekomme ich über cmd das der Befehl nicht verfügbar ist.

Du mußt den Pfad mit in die PATH-Variable aufnehmen und beim Installieren drauf achten, daß sed mit installiert wird.

Du kannst natürlich die Zeile in ein bashscript opacken und dann mit bash.exe starten.

Unter normalem Batch machst Du einfach eine Forschleife, die jede Zeile der Datei in eine variable packt und diese dann mit ";11" erweitert und ausgibt

Das kann ich alledings nicht so schnell aus den Fingernschütteln, da gibt es geeignetere Kollegen hier dafür.

lks
Bitte warten ..
Mitglied: hospiman
10.12.2013 um 11:34 Uhr
Ich danke Dir erstmal aber ich denke mit einem Batchscript komm ich für mich weiter, vielleicht meldet sich noch mal jemand
Bitte warten ..
Mitglied: pieh-ejdsch
10.12.2013 um 11:35 Uhr
Moin,

Als Batch in etwa so:
01.
@Echo off 
02.
Setlocal 
03.
Set in=org_Datei 
04.
Set out=out_%in% 
05.
Set Kopf=spalte_neu 
06.
Set wert=11 
07.
>"%out%" (For /f "usebackq delims=" %%i in ("%in%") Do ( 
08.
  If defined Kopf Echo %%i;%kopf% 
09.
  If Not defined Kopf Echo %%i;%wert% 
10.
  Set "Kopf=" 
11.
))
Gruß Phil
Bitte warten ..
Mitglied: hospiman
14.12.2013 um 17:09 Uhr
Vielen Dank pieh-ejdsch ,

das funktioniert prima. Jetzt habe ich jedoch noch ein kleines Problem in der org. Datei stehen Preise mit "." als Dezimaltrenner (Bsp. für 63,20 -> 63.20) und er macht mir 6320.000000 aus dem Wert. Wäre schön wenn du mir vielleicht noch mal helfen könntest.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

(1)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell: Spalten tauschen und neue Spalten in CSV datei erzeugen (16)

Frage von Rippchen zum Thema Batch & Shell ...

Batch & Shell
gelöst Auslesen bestimmter Spalten aus csv (6)

Frage von Berti82 zum Thema Batch & Shell ...

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

Frage von Rippchen zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...