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, 363 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 ...

Windows 7

Mehrere Textdateien in verschiedenen Ordnern zu einer Textdatei zusammenführen ?

gelöst Frage von chr2002Windows 72 Kommentare

Hallo, irgendwie finde ich nirgends ein anständiges Programm mit dem man mehrere Textdateien zu einer großen zusammenführen kann. Die ...

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 ...

Batch & Shell

Mehrere Textdateien mit Datumsstempel in einer Textdatei pro Tag zusammenfassen

gelöst Frage von MenoraxBatch & Shell9 Kommentare

Guten Morgen an alle, ich beschäftige mich seit mehreren Tagen mit einem Script, wobei ich leider keine Lösung finden ...

Neue Wissensbeiträge
Windows 10

Blackscreen nach dem Update von 1809 auf 1809 wenn der Rechner aus dem Standby gestartet wird

Tipp von FSX2010 vor 22 StundenWindows 104 Kommentare

Habt ihr den Samsung Treiber "Samsung_NVM_Express_Driver_3.0" installiert sollte dieser für 1809 deinstalliert werden da dieser nicht kompatibel ist. Der ...

Utilities
Teamviewer 14 Verbindungsprobleme mit Proxy
Tipp von PeterleB vor 2 TagenUtilities

Nach dem Umstieg von Version 13 auf 14 wollte sich TV nicht mehr mit dem Netz verbinden, ignorierte offenbar ...

Administrator.de Feedback
Unsere Datenbank wurde umgestellt
Information von Frank vor 2 TagenAdministrator.de Feedback5 Kommentare

Hallo User, ich habe in der Nacht unsere Datenbank umgestellt. D.h. neue Version (MySQL 8) und andere Örtlichkeit. Sollte ...

Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 4 TagenSonstige Systeme8 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Heiß diskutierte Inhalte
Router & Routing
Dediziertes ISP -Routing
gelöst Frage von niLuxxRouter & Routing13 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Durch verschiedene Umstände kann es nun sein, dass sich zwei ...

Monitoring
WMI Problem bei PRTG
Frage von justInsaneMonitoring12 Kommentare

Hallo zusammen, ich bin zur Zeit dabei, das PRTG Monitoring Tool auszutesten. Ich habe das ganze nun grob konfiguriert ...

Samba
Linux Server und Windows Linux Client
gelöst Frage von 137898Samba12 Kommentare

Hallo, ich bräuchte dringend bei der Aufgabe etwas Hilfe. Die Firma XYZ besteht auf zwei Abteilungen Logistik und Technik ...

Webbrowser
Proxy-Zugangsdaten in Firefox hinterlegen
Frage von SebastianGSWebbrowser10 Kommentare

Hallo zusammen, kennt jemand von Euch aktuell eine Möglichkeit die Proxy-Zugangsdaten im Firefox (Vers. 63.0.3 - 64-Bit) zu hinterlegen, ...