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 Inhalte vieler txt Dateien ändern

Mitglied: DerChriss

DerChriss (Level 1) - Jetzt verbinden

22.10.2013 um 21:30 Uhr, 1916 Aufrufe, 7 Kommentare, 1 Danke

Hallo Forumsmitglieder,

aktuell stehe ich etwas auf dem Schlauch....

folgendes Problem
ich habe einige Tausend txt Dateien mit Protokollen.
Die Dateien befinden sich alle in einem Ordner.

In den Protokollen werden ungüstigerweise komplette Namen (Vorname Nachname) genannt.
Der Vorname Nachname soll in allen Protokolldateien abgeändert werden in "Mitarbeiter"

Mein Gedanke ist dies in Power Shell umzusetzen
sprich ich habe eine Datei mitarbeiter.dat in welcher die entsprechenden Mitarbeiter mit Vorname Nachname zeilenweise eingetragen sind
und das Script liest sich die Daten ein und ändert in allen Protoklldateien den entsprechenden Namen in "Mitarbeiter" ab.

Einzelnes Ändern würde zwar gehen,
Get-ChildItem *.txt | ForEach-Object {Get-Content $_ | Out-String | ForEach-Object {$_.Replace("Hans Meier","Agent")} | Set-Content $_}
aber es kommen auch immer noch rund 500 Namen in Betracht, welche in den Dateien stehen.

Klasse währe zudem eine Möglichkeit, nach dem Anpassen der Datei diese als neue Datei zu speichern
und wenn es in einer Datei keine Änderung gab, dies im Dateinamen zu vermerken.

Ich danke vielmals für eure Mithilfe

Chriss
Mitglied: colinardo
23.10.2013, aktualisiert um 16:16 Uhr
Hallo Chriss,
kein Problem wenn du mit zwei ineinander verschachtelten FOR-Schleifen arbeitest. Die äußere Schleife geht alle Dateien durch und die innere für jede Datei alle Namen:
In Zeile 1 musst du den Pfad und den Filter für deine Dateien angeben, Zeile 2 gibt den Ausgabepfad für die korrigierten Dateien an(ohne Slash am Ende) und in Zeile 3 gibst du die Datei an die die Namen enthält (einer pro Zeile).
Sollte in einer Datei einer oder mehrere der Namen gefunden werden werden diese durch "Mitarbeiter" ersetzt und die Datei wird durch den Anhang _corrected im Dateinamen ergänzt und im Zielordner abgespeichert. Wurde kein Name gefunden wird die Datei einfach so wie sie ist in den Zielordner kopiert.

Grüße Uwe
Bitte warten ..
Mitglied: Endoro
23.10.2013 um 09:10 Uhr
Hi,
kann man auch mit sed for Windows machen:
lg.
Bitte warten ..
Mitglied: DerChriss
23.10.2013, aktualisiert um 15:21 Uhr
super.. danke für die schnelle hilfe.

beim ersetzen erschein leider noch ein Fehler und die Namen werden leider auch nicht ersetzt

Method invocation failed because [System.Object[]] doesn't contain a method named 'Replace'.
At .ps1:11 char:46
+ $fcontent = $fcontent.Replace <<<< ($name,"Mitarbeiter")
+ CategoryInfo : InvalidOperation: (Replace:String) [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound

in anderen scripten funktioniert die Replace Methode

Danke nochmals
Bitte warten ..
Mitglied: colinardo
23.10.2013 um 15:45 Uhr
Ah OK, dann hast du wahrscheinlich eine ältere Powershell-Version. Habe es oben im Code dahinhgehend korrigiert ...
Bitte warten ..
Mitglied: DerChriss
23.10.2013 um 15:47 Uhr
ja
hab hier kleider nur die v2 zu verfügung
Bitte warten ..
Mitglied: colinardo
23.10.2013 um 16:14 Uhr
Zitat von DerChriss:
ja
hab hier kleider nur die v2 zu verfügung
s. geänderter Code oben ... damit geht's auch in Powershell 2.0
Bitte warten ..
Mitglied: DerChriss
23.10.2013 um 16:14 Uhr
super
ich danke dir vielmals

nun läufts durch.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Inhalt einer txt Datei pro Zeile in je neue txt Datei

gelöst Frage von sanshineBatch & Shell4 Kommentare

Servus, ich habe mehrer txt Dateien. In ihnen stehen manchmal 1 Zeile, manchmal 20 Zeilen. Ich möchte, dass ein ...

Windows Server

Vhdx-Datei viel größer als Inhalt der Festplatte - wie schrumpfen?

gelöst Frage von Winfried-HHWindows Server26 Kommentare

Hallo in die Runde! Mittlerweile läuft unser neuer, virtueller Schülerserver so wie er soll. Nun habe ich den virtuellen ...

Batch & Shell

Eine TXT-Datei auslesen und nach gesuchten Inhalt die Zeile in eine andere TXT-Datei einfügen

Frage von DennisssBatch & Shell11 Kommentare

Hallo Zusammen, habe folgendes Problem und hoffe ihr habt eine Idee. Ich erhalte von einem Programm eine TXT-Datei zur ...

Batch & Shell

Inhalt einer .txt per Script bearbeiten

gelöst Frage von hanni007Batch & Shell2 Kommentare

Hallo Mitstreiter! Habe zu dieser Sache leider keinen alten Beitrag gefunden. Mein Problem ist daher folgendes: Ich habe eine ...

Neue Wissensbeiträge
Administrator.de Feedback
Hinweise auf Dienstleister oder auf Suchmaschinen
Information von Frank vor 2 TagenAdministrator.de Feedback71 Kommentare

Lieber User, Admins und Moderatoren, aus gegebenen Anlass möchte ich zwei Dinge endgültig klarstellen und für die Nachwelt festhalten: ...

Router & Routing

PfSense 2.4 IPSec VPN mobile Clients Phase 2 wird plötzlich nicht mehr aufgebaut - So einfach war die Lösung

Tipp von the-buccaneer vor 3 TagenRouter & Routing9 Kommentare

Moinsen! Nachdem ich mir hierbei nen Wolf gesucht habe, möchte ich doch die Welt an dieser simplen Lösung teilhaben ...

Humor (lol)
Wählscheiben Telefon
Information von brammer vor 3 TagenHumor (lol)4 Kommentare

Hallo, Mal wirkliche eine nette Spielerei brammer

Sicherheit

Zeitenwende: Mehr pot. Mac- (Heise Wortlaut) als Windowsbedrohungen

Information von certifiedit.net vor 4 TagenSicherheit4 Kommentare

Wir hatten es ja hier erst letztens, dass OS bzw Mac auch nicht der Weisheit letzter Schluss ist, nun ...

Heiß diskutierte Inhalte
Netzwerke
Instagram Fake Account
Frage von NurangnNetzwerke18 Kommentare

Hey Leute, Ich bin neu hier und hätte eine Frage. Und zwar werden mein Freund und ich von Mehreren ...

Server-Hardware
Verkaufe mein HomeLab - Hat jemand Interesse?
Frage von BirdyBServer-Hardware13 Kommentare

Hallo miteinander, auf Grund eines bald bevorstehenden Umzugs, chronischer Nichtnutzung und des sehr eingeschränkten FAF (Frauen-Akzeptanz-Faktors) möchte ich mein ...

Hyper-V
HyperV Cluster nachträglich in neue Domäne einbinden - Fehler Livemigration
Frage von bierzapferHyper-V13 Kommentare

Hallo zusammen, wir haben einen neuen HyperV Cluster implementiert und die produktive Gesamtstruktur inkl. produktiver Domäne auf neue Win2019 ...

Erkennung und -Abwehr
Außenstehenden (Fremden) Remote Zugriff via VM erlauben
gelöst Frage von Cyphy98Erkennung und -Abwehr11 Kommentare

Moin Liebe Community Schlagt mich nicht falls ich was falsch mache, ist mein erster Beitrag hier 🤪. Aber zum ...