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

TXT File mit Batch Sript filtern

Frage Entwicklung Batch & Shell

Mitglied: hospiman

hospiman (Level 1) - Jetzt verbinden

28.11.2013 um 15:30 Uhr, 1509 Aufrufe, 8 Kommentare, 1 Danke

Hallo,

ich bin völliger Newbie was Batch Skripte angeht. Ich muss folgendes tun:

-Ich habe eine .txt Datei die mit TABS getrennt (Datei kommt ursprünglich aus einer MSSQL)
-Ich muss in einer Spalte (C) nach einem gewissen Wert suchen
-Die Zeilen mit diesem Wert sollen in eine neue .txt Datei mit der selben Struktur gespeichert werden.

Viele Grüße
Mitglied: dave84620
28.11.2013 um 16:40 Uhr
Hallo hospiman,

schau Dir mal den die Hilfe des Befehls "for" an.
Schöne Grüße

Dave
Bitte warten ..
Mitglied: colinardo
28.11.2013, aktualisiert 29.11.2013
Hallo hospiman,
z.B. so
01.
@echo off 
02.
set "file=test.txt" 
03.
set "ausgabe=test2.txt" 
04.
set suchstring="IchSuchDich" 
05.
 
06.
for /f "usebackq tokens=1,2,3,* delims=	" %%a in ("%file%") DO @( 
07.
	echo %%c | findstr /i "%suchstring%" && echo %%a	%%b	%%c	%%d>>"%ausgabe%" 
08.
)
Im jetzigen Zustand vergleicht das Script keine Groß- und Kleinschreibung des Suchstrings. Wenn du das willst musst die das /i hinter dem findstr entfernen.

Wenn's dann noch was in Powershell sein darf:
01.
$fileIN = "c:\datenIN.txt" 
02.
$fileOUT = "c:\datenOUT.txt" 
03.
$suchwort = "Dein Suchwort" 
04.
$content = gc $fileIN | ?{$_.Split("`t")[2] -match $suchwort} | Out-File $fileOUT
Grüße Uwe
Bitte warten ..
Mitglied: dave84620
28.11.2013 um 17:01 Uhr
das tut aber nicht das was der TO möchte ;o)
Bitte warten ..
Mitglied: colinardo
28.11.2013, aktualisiert um 17:05 Uhr
Zitat von dave84620:
das tut aber nicht das was der TO möchte ;o)
doch das tut es, was meinst du denn was er will ?? dann poste doch bitte deine Lösung ...
Bitte warten ..
Mitglied: dave84620
28.11.2013 um 17:07 Uhr
@colinardo

sorry, hatte den ersten Post falsch verstanden. Du hast recht :o)

Schöne Grüße
Dave
Bitte warten ..
Mitglied: Endoro
28.11.2013 um 23:20 Uhr
Hey, für solche Sachen wurde awk for Windows erfunden:
- Spalte 3 ("C") entspricht genau "gewissen Wert":
01.
awk "$3==\"gewissen Wert\"" TabText.txt>Out.txt
- Spalte 3 enthält "gewissen Wert":
01.
awk "$3~/gewissen Wert/" TabText.txt>Out.txt
lg.
Bitte warten ..
Mitglied: hospiman
29.11.2013 um 09:32 Uhr
Vielen Dank für Eure Lösungen ich habe die Lösung von @colinardo eingebaut und die läuft super perfekt. Ein kleinen Fehler habe ich noch wenn in der test.txt ein Feld in der Tabelle nicht gefüllt ist verschiebt es in der test2.txt die Spalten auf der Zeile.

Bsp.:

test.txt
a | b | c | d | e | f
1 | 2 | 3 | 4 | 5 | 6
1 | 2 | 3 | | 5 | 6
1 | 2 | 3 | 4 | 5 | 6

test2.txt
a | b | c | d | e | f
1 | 2 | 3 | 4 | 5 | 6
1 | 2 | 3 | 5 | 6 |
1 | 2 | 3 | 4 | 5 | 6
Bitte warten ..
Mitglied: colinardo
29.11.2013, aktualisiert um 10:03 Uhr
Hallo hospiman,
wenn zwei Tabs direkt hintereinander stehen(ohne jegliches Zeichen dazwischen) musst du einem Trick anwenden, der zwischen zwei oder drei aufeinanderfolgenden Tabs jeweils ein Leerzeichen einfügt damit die FOR-Schleife diese nicht zusammenfasst:
01.
@echo off 
02.
set "file=test.txt" 
03.
set "ausgabe=test2.txt" 
04.
set suchstring="IchSuchDich" 
05.
for /F "usebackq delims=" %%z in ("%file%") do ( 
06.
	setlocal EnableDelayedExpansion 
07.
	set line=%%z 
08.
	set line=!line:		=	 	! 
09.
	set line=!line:		=	 	! 
10.
	for /f "tokens=1,2,3,* delims=	" %%a in (^"!line!^") DO @( 
11.
		echo %%c | findstr /i "%suchstring%" &&	echo %%a	%%b	%%c	%%d>>"%ausgabe%" 
12.
13.
)
sollten mehr als 2 leere Spalten auftreten musst du Zeile 9 entsprechend oft wiederholen.

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Vorhandene TXT per Batch aktualisieren (6)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
VPN Tunnel aufbauen (13)

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

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...