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, 272 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: 135333
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: 135333
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: 135333
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: 135333
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: 135333
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: 135333
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: 135333
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: 135333
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
Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 12 StundenHumor (lol)2 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Batch & Shell

Windows 10 Heimnetzgruppe abgeschaft. Ein Script für einfache Netzwerk - Freigabe im Heimnetzwerk

Anleitung von treehe vor 14 StundenBatch & Shell1 Kommentar

Anleitung für eine einfache Netzwerkfreigabe unter Windows 10 Wie weiter hab mal ein kleines CMD - Script gebastelt. Womit ...

Verschlüsselung & Zertifikate

Efail die II - Warum SMime und PGP der Zeit hinterherhinken

Information von certifiedit.net vor 2 TagenVerschlüsselung & Zertifikate

Guten Morgen, nachdem der letzte Beitrag rege kommentiert wurde, die IT-Republik sich nun darüber streitet ob es nun ein ...

Off Topic

Landesarbeitsgericht schützt private Mobilnummern von Arbeitnehmern

Tipp von VGem-e vor 3 TagenOff Topic5 Kommentare

Servus Kollegen, wurde zwar für den Fall von kommunalen AN entschieden, betrifft aber naturgemäss oft auch AN im IT-Bereich: ...

Heiß diskutierte Inhalte
Netzwerke
IP-Adresse am zweiten Domänencontroller fest vergeben - Server verschwunden
Frage von DanielG1974Netzwerke15 Kommentare

Ich hab ein Problem, was ich bisher noch nicht erlebt habe Ich habe erfolgreich einen zweiten Server mit ActiveDirectory ...

Firewall
Sophos SG 125 nicht mehr erreichbar
Frage von GwaihirFirewall13 Kommentare

Hallo zusammen, ausgerechnet über die Feiertage stimmt etwas mit meiner Firmen-Firewall nicht. Es ist eine Sophos SG 125 und ...

Windows Tools
Virtueller Drucker gesucht (Schnittstelle: USB oder Seriell)
Frage von chrisButterflyWindows Tools9 Kommentare

Hi, ich suche einen virtuellen Drucker, den ich über eine USB oder serieller Schnittstelle ansprechen kann. Dieser Drucker soll ...

Windows 10
Weiße Fenster beim Aufruf verschiedener Apps
Frage von deckerWindows 109 Kommentare

Hallo liebe Leute ! Ich habe ein Problem. Bei verschiedensten Anwendungen, wie z.B. beim Anhang, sind nur unlesbare weiße ...