Top-Themen

Aktuelle Themen (A bis Z)

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

Viele Dateien durchsuchen und inhaltsabhängig verschieben

Frage Entwicklung Batch & Shell

Mitglied: teufel112

teufel112 (Level 1) - Jetzt verbinden

10.05.2012 um 12:18 Uhr, 3785 Aufrufe, 11 Kommentare

Hallo, ich habe jede Menge CSV Dateien, die nach diesem Schema aufgebaut sind:

Messstelle: ;Messtellenbezeichnug;;
Kanal: ;Kanalbezeichnung;;
Gerätenummer: ;Nummer;;
Datum ;Zeit ;Wert ;Wertestatus
Datum ;Zeit ;Wert ;Wertestatus
Datum ;Zeit ;Wert ;Wertestatus



Wertestatus ist entweder leer, E, F, V

Ich kann die Dateien nur ohne Status oder mit Status E weiterverarbeiten, die mit Status F und V muss ich von Hand anfassen und kontrollieren, was mit dem Messgerät war.

Deshalb würde ich gern alle Dateien durchsuchen lassen und die Dateien mit Status F und V in ein anderes Verzeichnis verschieben. Dateien mit F und V in der Messtellenbezeichnug sollen nicht verschoben werden.

Kann mir da bitte einer helfen, Danke schon mal
MFG teufel112
Mitglied: Skyemugen
10.05.2012 um 12:22 Uhr
Aloha,

ja eine Idee kommt mir, allerdings die Rückfrage: Wie ist das Datum formatiert, denn ich würde per findstr nach /B [0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9] z.B. suchen, um dann den letzten Tokens in dieser Zeile zu prüfen aber ohne genaue Angabe, nach welchem Muster man suchen kann, wird es schwer.

Wobei, fangen die Werte immer ab Zeile 4 an?

greetz André
Bitte warten ..
Mitglied: teufel112
10.05.2012 um 13:09 Uhr
hier eine Beispielzeile:

07.01.2012;00:15;17875.000;V

Ja, die Werte fangen immer in der 4. Zeile an, der Kopf sieht immer gleich aus. Die Anzahl der Werte pro Datei ist unterschiedlich.
Bitte warten ..
Mitglied: Skyemugen
10.05.2012 um 14:10 Uhr
Aloha,

hm vielleicht funktioniert's ja auch schon auf die ganz einfache Weise, in dem Glauben (bisher ohne Angabe), dass die Messtellenbezeichnung oder die Kanalbezeichnung nicht denselben Inhalt haben können wie der Status:
01.
@echo off & setlocal 
02.
set "Quelle=E:\Skripte" 
03.
set "Ziel=E:\Test" 
04.
for %%s in ("%Quelle%\*.csv") do findstr ";F ;V">nul "%%s" && echo move "%%s" "%Ziel%" 
05.
pause
das echo dient der Voransicht, kannst es ja mal ggf. prüfen, eigentlich wollte ich mit /E arbeiten aber da mag der Interpreter nur mit dem Ende der gesamten Datei arbeiten ...

greetz André
Bitte warten ..
Mitglied: micneu
10.05.2012 um 21:22 Uhr
du hast leider nicht geschrieben unter welchem system es laufen soll.
unter windows könnte man es gut mit powershell machen, wenn du software runterladen kannst und das ist dann schon mehr plattformunabhängig: "awk" oder "perl".
das sind auch meine 3 (powershell, awk, perl)
so wie die datei aufgebaut ist würde ich unter linux auf alle fälle awk nutzen.
noch eine frage kannst du mal mir 3 beispiel dateien zukommen lassen mit testdaten für mich.

gruß michael
ps:
habe mal einen ansatz in awk (einzeiler gemacht:
01.
awk -F ";" '{if (NR > 3){if ($NF == "F" || $NF == "V")print $0}}' test.txt
Bitte warten ..
Mitglied: teufel112
11.05.2012 um 09:14 Uhr
Hallo Andre,

vielen Dank, das scheint wunderbar zu funktionieren.

Nur zum verständnis: So wie ich das verstehe würden aber Dateien, bei denen die Messtellenbezeichnung mit V beginnt auch verschoben??

Dem ist zum Glück nicht so!! Messtellenbezeichnungen beginnen alle mit D.

Könnte man auch auf ;V CRLF und ;F CRLF prüfen??

MFG teufel112
Bitte warten ..
Mitglied: teufel112
11.05.2012 um 09:19 Uhr
Hallo Michael,

das ganze soll unter Windows laufen, mir steht cmd und powershell zur Verfügung.

MFG teufel112
Bitte warten ..
Mitglied: micneu
11.05.2012 um 09:24 Uhr
ok... werde mal schauen ob ich am wochenende zeithabe es in powershell zu machen

gruß michael
Bitte warten ..
Mitglied: Skyemugen
11.05.2012 um 09:35 Uhr
Aloha,

so einfach leider nicht, denn selbst bei der Suche nach dem Ende mit dem Begriff, also hier nach ;F$ ;V$ passiert dasselbe wie beim Schalter /E, der Befehl prüft dann wirklich nur das Ende der Ausgabe, statt der Zeile, allerdings ist mir unklar weshalb.

Es gäbe eben noch die Möglichkeit das Ganze stark zu erweitern und wirklich exakt zu prüfen ... aber nur, wenn es wirklich notwendig ist Ich kann ja ma Phil oder bastla anschreiben, ob die 'ne Idee haben, warum das mit dem Filtern des Endes nicht so will, wie ich es mir denke.

greetz André
Bitte warten ..
Mitglied: teufel112
11.05.2012 um 10:18 Uhr
Hallo Michael, ist nicht nötig, die Lösung von Andre ist für mich vollkommen ausreichend.

MFG teufel112
Bitte warten ..
Mitglied: teufel112
11.05.2012 um 10:20 Uhr
Nein ist nicht notwendig zu erweitern, so funktioniert es für meine Zwecke.

MFG teufel112
Bitte warten ..
Mitglied: micneu
11.05.2012 um 12:48 Uhr
hab hier jetzt mal einen ersten entwurf in powershell:

01.
$datei = Get-content c:\test.txt 
02.
$a = 0 
03.
$b = 0 
04.
$array = @() 
05.
$datei | Foreach-Object {     
06.
    $array += $_ 
07.
08.
for($i = 0; $i -le ($array.length -1); $i++){ 
09.
    if ($i -ge 3){         
10.
        if ($array[$i] -match "F$" -or $array[$i] -match "V$"  ){ 
11.
            "===========" 
12.
            "TEST: " + $i, $array[$i] 
13.
            } #else {"kein treffer"} 
14.
15.
}
gruß michael
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ordner durchsuchen - wenn "bestimmter Text" in einer Datei enthalten, diese Datei in einen anderen Ordner kopieren oder verschieben
gelöst Frage von ConcurveBatch & Shell14 Kommentare

Hallo zusammen, ich habe ein Problem bei der Erstellung einer *.bat, welche innerhalb eines zu definierenden Ordners alle Dateien ...

Windows Server
PDF Dateien auf Netzwerlaufwerk durchsuchen
gelöst Frage von jojo0411Windows Server6 Kommentare

Hallo Leute, Nach Dateinamne auf einem Netzlaufwerk zu suchen geht hervorragend im Standard. Was müsste ich tun um auf ...

Batch & Shell
Ordner durchsuchen und Dateien kopieren
gelöst Frage von friedensbringerBatch & Shell4 Kommentare

Hallo zusammen, gibt es mittels Batchfile eine Möglichkeit in einem definierten Ordner inklusive allen Unterordnern (mehrere Ebenen möglich) nach ...

Windows 7
Txt Datei mit findstr durchsuchen
gelöst Frage von 126594Windows 72 Kommentare

Hallo zusammen! Leider komme ich gerade an meine Grenzen und weiß nicht mehr weiter, jetzt hoffe ich hier, den ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 StundeInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 4 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 4 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 8 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement18 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...