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

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

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
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 1 TagBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 3 TagenHumor (lol)7 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 3 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 4 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
Frage von vanTastE-Mail22 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server11 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...

RedHat, CentOS, Fedora
OTRS 5 kann keine Mails mehr abrufen
gelöst Frage von opc123RedHat, CentOS, Fedora11 Kommentare

Hallo, OTRS kann keine Mails mehr abrufen. Verschicken ja. Dadurch kommen keine Tickets mehr rein. Gibt es Anlaufpunkte was ...

Windows Server
Server 2016 Autotiering Storage Space
Frage von HenereWindows Server11 Kommentare

Servus, ich habe jetzt ein StorageSpace auf einem Server 2016 in Betrieb zum Testen. 1x M2 mit 512GB (970pro) ...