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 Textdatei auf Rendundanz untersuchen und ändern

Mitglied: Daniel3

Daniel3 (Level 1) - Jetzt verbinden

14.02.2018 um 10:47 Uhr, 196 Aufrufe, 19 Kommentare

Hallo zusammen,
Ich müsste mit einer Bat oder kleineren Programm, eine txt Datei auf Rendundanz untersuchen und ausbessern.
z.B.
101 Test
205 Test2
101 Test3
306 Test4

Ich müsste die Datei so ändern das zum Schluss folgendes rauskommt:

101 Test
205 Test2
1011Test3
306 Test4

Also statt dem Leerzeichen eine 1
Mitglied: snapdragon
14.02.2018, aktualisiert um 11:11 Uhr
Powershell
01.
$arr =@() 
02.
(gc 'c:\datei.txt') | %{ 
03.
    $line = $_.split(' ',2) 
04.
    If ($line[0] -in $arr){$line[0] + '1' + $line[1]}else{$arr += $line[0];$_} 
05.
} | sc 'c:\datei_neu.txt'
Gruß Snap
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 11:05 Uhr
Hallo Snap,
Kannst du mir das bitte erklären, verstehe das nicht.
Bitte warten ..
Mitglied: snapdragon
14.02.2018, aktualisiert um 11:35 Uhr
Also nochmal mit Erklärungen, dann sollte klar sein was passiert:
01.
# definiert ein leeres Array 
02.
$arr = @() 
03.
# liest Textdatei ein und baut eine Schleife um die Zeilen zu durchlaufen 
04.
(gc 'c:\datei.txt') | %{ 
05.
    # splitet die Zeile anhand der Leerzeichen zwei mal 
06.
    $line = $_.split(' ',2) 
07.
    # Wenn Nummer bereits im Array existiert gebe die Daten mit einer 1 dazwischen aus ansonsten füge die Nummer dem Array hinzu und gebe die Zeile unverändert aus 
08.
    If ($line[0] -in $arr){$line[0] + '1' + $line[1]}else{$arr += $line[0];$_} 
09.
} | sc 'c:\datei_neu.txt' # schreibt die Ausgaben in eine neue Datei
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 11:36 Uhr
Sorry aber bei mir funktioniert das nicht
mir erstellts zwar die neue Datei, aber diese bleibt unverändert.
Bitte warten ..
Mitglied: snapdragon
14.02.2018 um 11:39 Uhr
Dann hast du's falsch kopiert, also nochmal kopieren. Läuft, getestet.
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 11:40 Uhr
Jetzt hats funktioniert
Danke
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 11:54 Uhr
Hallo Snap,
Vielen Dank nochmal.
Ich müsste nun nochmal das geiche Rückgäng machen also von
so:
101 Test
205 Test2
1011Test3
306 Test4
nach
so:
101 Test
205 Test2
101 Test3
306 Test4

Hast du da auch was?
Danke in Vorraus
Bitte warten ..
Mitglied: snapdragon
14.02.2018, aktualisiert um 12:07 Uhr
Nana, hast du kein Backup gemacht . Das gibt heiße Öhrchen

01.
(gc 'c:\test.txt') -replace '^(.{3})(1)(.*)','$1 $3' | sc gc 'c:\test.txt'
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 13:04 Uhr
Perfekt danke bist der Beste
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 14:37 Uhr
Hast du auch einen Lösung bezüglich, ich muss die Skript auf einen Windows 7 PC zum laufen bekommen.
Da ist Powershell v1 installiert und da funktionierts nicht.
Funktioniert nur bei Windows 10
Bitte warten ..
Mitglied: snapdragon
14.02.2018, aktualisiert um 14:57 Uhr
Powershell 1 gibt es nicht mehr!

In PS 2.0 wie es auf W7 installiert ist nutze statt dem -in Operator den -contains Operator.
Also
if ($arr -contains $line[0])
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 15:00 Uhr
Anbei das Bild
2018-02-14 15_00_09-vorführ_2018_yuno - teamviewer - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: snapdragon
14.02.2018, aktualisiert um 15:04 Uhr
Siehe bitte meinen letzten Post!
Bitte warten ..
Mitglied: Daniel3
14.02.2018 um 17:17 Uhr
Also bei mir funktionierst jetzt auch bei Windows 7 wenn ich Powershell öffne und den Text reinkopiere.
Wenn ich aber den Code als test.ps1 speichere und diese mit Powershell ausführe funktioniert es nicht.
Bitte warten ..
Mitglied: snapdragon
14.02.2018 um 18:11 Uhr
Stichwort Executionpolicy
Bitte warten ..
Mitglied: Daniel3
15.02.2018 um 15:04 Uhr
ich raffs nicht
Bitte warten ..
Mitglied: Daniel3
15.02.2018 um 16:23 Uhr
Ich bekomme immer folgenden Fehler. auch nach der Set-ExecutionPolicy
2018-02-15 16_20_56-vorführ_2018_yuno - teamviewer - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: snapdragon
15.02.2018, aktualisiert um 16:44 Uhr
Tja, das sagt dir doch eindeutig das du die Executionpolicy auf Signieren festgelegt hast oder das eine GPO bei dir das Ausführen Unsignierter Sktipte verbietet und nicht auf RemoteSigned oder Unrestricted festgelegt ist.

Also administrative Powershell-Konsole öffnen und
01.
Set-Executionpolicy Unrestricted
Eintippeln.
Dann cmd öffnen und
01.
Powershell -File "c:\script.ps1"
eintippeln, feeeedich, oder Bypass machen
01.
Powershell -Executionpolicy Bypass -File "c:\script.ps1"
Das man das noch nicht mal ergoogeln kann ist schon sehr schwach!

I'm out a here.
Gruß snap
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Vor - und Nachnahmen aus einer Textdatei löschen, die in anderen Textdateien vorhanden sind

gelöst Frage von takitanoUbuntu4 Kommentare

Hallo, ich habe folgendes Problem: ich habe eine Textdatei mit mehr als 30.000.000.000 Zeilen. In eingigen von diesen Zeilen ...

Microsoft Office

Makro: Bereich auf freie Zellen untersuchen und Inhalt einfügen

gelöst Frage von BerndVorwerkMicrosoft Office2 Kommentare

Hallo an alle, ich bräuchte einmal mehr Hilfe bei dem Erstellen eines Makros. Ich möchte gerne aus dem Tabellenblatt ...

Batch & Shell

Mehrfachsuche in einer Textdatei

gelöst Frage von hoppalaBatch & Shell5 Kommentare

Hi ! :-) Wir müssen jeden Tag im Büro mehrere Barcodes in einer grossen Textdatei suchen, welche wie folgt ...

Windows 8

Textdatei umformatieren

gelöst Frage von bladeyyyWindows 81 Kommentar

Hey, Ich habe folgendes Problem: Ein Programm exportiert bei mir eine Textdatei in dem Format: erste Zeile mit unnötigem ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 8 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 21 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 23 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 23 StundenMicrosoft15 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...