Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Jede 6 Zeile aus txt File auslesen

Frage Entwicklung Batch & Shell

Mitglied: CHToasty

CHToasty (Level 1) - Jetzt verbinden

13.03.2007, aktualisiert 14.03.2007, 5065 Aufrufe, 3 Kommentare

Hallo

Ich würde gerne aus folgendem txt (orginal 12MB) jede 6 Zeile auslesen.

Codeschnipsel:

--> PC no code !
--> PC
--> PC
--> PC

--> PC TT=___30ms MG=_98% n=_1 AK=1
--> PC 0110999966
--> PC 25IL 100% ST=0 CP=_50 CL=10 CA=__6 CS=__5 CK=__6 DI=R
--> PC
--> PC

--> PC TT=___30ms MG=_98% n=_1 AK=1
--> PC 0110999959
--> PC 25IL 100% ST=0 CP=_50 CL=10 CA=__6 CS=__6 CK=__6 DI=R
--> PC
--> PC

Das Resultat müsste dann so aussehen.

--> PC no code !
--> PC 0110999966
--> PC 0110999959
usw.

Ich hab es mal mit dem Befehl
find /v /i "" test.txt >textfilename.txt
ausprobiert. Denke das würde so auch funktionieren, existiert da nicht ein einfacherer Befehl der jede 6 Zeile ausliest?

Würde mich über eine Antwort freuen.
Gruss Toasty
Mitglied: bastla
13.03.2007 um 18:21 Uhr
Hallo CHToasty und willkommen im Forum!

Wenn die entsprechenden Zeilen kein spezielles Merkmal haben, wirst Du mit einem "find" wohl nicht zum Ziel kommen. Versuch es vielleicht eher so:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a Zeile=0 
03.
for /f "delims=" %%i in ('type test.txt') do ( 
04.
	set /a Zeile+=1 
05.
	if !Zeile!==6 ( 
06.
		set /a Zeile=0 
07.
		echo %%i 
08.
09.
)
Hinweis: Leerzeilen werden nicht gezählt.

Zum Erstellen der neuen Datei beim Aufruf der Batch-Datei dann einfach eine Umleitung (>textfilename.txt ) anhängen.

HTH
bastla
Bitte warten ..
Mitglied: Biber
13.03.2007 um 21:40 Uhr
Moin CHToasty,

wilkommen im Forum auch von mir.

Fussnote zu bastla's Lösung:
Falls aber Leerzeilen auch mitgezählt werden müssen, hätte ich folgenden Oneliner vom CMD-Prompt aus anzubieten:

01.
for /F "delims=: tokens=1,2" %i in ('findstr /n "." test.txt') do @for /f %a in ('@set /a "%i % 6"') do @if [%a]==[0] @echo %j
Das Prinzip:
- Die test.txt wird nach allen Zeilen mit FindStr durchsucht und durchnummeriert [im Format "nnn:Zeileninhalt"]
- Der erste Teil ("nnn"), die Zeilennummer wird mit dem Modulo-Operator durch 6 geteilt.
- wenn der Rest gleich 0 ist,d.h. die Zeilennummer ein Vielfaches von 6 ist, wird der Zeileninalt angezeigt.

Wenn Du an das Ende der CMD-Zeile noch ein ">>output.txt" hängst, hast Du das Ergebnis in einer Datei.

Falls Du es für sinnvoll hältst, diese eine Zeile als Batchdatei dauerhaft aufzubewahren, dann alle %-Zeichen durch "%%" ersetzen.

Gruss
Biber
Bitte warten ..
Mitglied: CHToasty
14.03.2007 um 14:05 Uhr
Hallo bastla & Biber

Vielen Dank für die schnelle Antwort, hat alles super geklappt. Habe >>output.txt noch eingebaut.
01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a Zeile=0 
03.
for /f "delims=" %%i in ('type neutest.txt') do ( 
04.
    set /a Zeile+=1 
05.
    if !Zeile!==6 ( 
06.
        set /a Zeile=0 
07.
        echo %%i   
08.
 
09.
    )  >>output.txt 
10.
)
Schöner Tag & Grüsse
Toasty
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Sonstige Systeme
gelöst Daten aus txt-Files sammeln (16)

Frage von MegaGiga zum Thema Sonstige Systeme ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...