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 filtern von txt dateien mit find

Mitglied: Pr0vieH

Pr0vieH (Level 1) - Jetzt verbinden

23.08.2006, aktualisiert 27.08.2006, 5444 Aufrufe, 10 Kommentare

suchen nach id= und der darauf folgende zahlen wert soll ausgegeben werden...genauso wie sich in der selbe zeile zu der id die dazugehörige prozentzahl befindet... diese soll ebenfalls ausgegeben werden...

hallo,

also ich habe eine txt datei.... in der steht viel viel text... aber ich brauch nur ein bruchteil von dem text....

die datei sieht ca so aus...

texttexttext "id=XXXX" (unbestimmterzahlenwert) texttexttext ">X.XX%<"(unbestimmterprozenzwert) texttexttext
texttexttext "id=XXXX" (unbestimmterzahlenwert) texttexttext ">X.XX%<"(unbestimmterprozenzwert) texttexttext
texttexttext "id=XXXX" (unbestimmterzahlenwert) texttexttext ">X.XX%<"(unbestimmterprozenzwert) texttexttext

ich möchte jetzt nach id= suchen und mir den zahlenwert der dahinter steht ausgeben lassen... und in der selbe zeile befindet sich auch noch der prozent wert zu dieser id ich benötige beides..... mein problem hierbei ist folgendes... wenn ich find nehme kann ich mir nur die kompletten zeilen ausgeben lassen in denen der string id= gefunden wurde... ich benötige aber lediglich die zahlenkette nach id= und aus der selben zeile noch den wert (x) der zwischen >x.xx%< steht

die ausgabe sollte in etwa dann so aussehen.....

id=1234 1.23%
id=1236 1.45%
id=1239 5.34%
usw.

wäre toll wenn mir jemand helfen könnte
Mitglied: DaSam
23.08.2006 um 19:46 Uhr
Hi,

da nimmt man doch ein kleines VB Script dafür her, das ist schneller geschrieben, als die komplizierte Find-Quoterei.

cu,
Alex
Bitte warten ..
Mitglied: Biber
23.08.2006 um 20:55 Uhr
Moin Pr0vieH,

willkommen im Forum.
Ist sicherlich abhängig von den Tools, die man/frau normalerweiser verwendet, ob es per CMD-Line, per Batch oder mit VBS/JS am schnellsten geht.

Ich als Bätcher würde es natürlich mit einer FOR /F..IN..DO-Anweisung lösen.

Also sinngemäß (am CMD-Prompt):
01.
>For /f "tokens=2,3,5" %i in ( 'find """id=XXXX""" xx.log ') do @echo [Output] %i=%j %k 
02.
[Output]"id=XXXX" "X.XX%"
...wenn die Zeilen in der xx.log so aussehen:
texttexttext "id=XXXX" texttexttext "X.XX%" texttexttext

Gruß
Biber
Bitte warten ..
Mitglied: Pr0vieH
23.08.2006 um 22:20 Uhr
danke erstmal für die info... aber so will es nicht klappen....

er meint immer:
"i" ist syntaktisch an dieser Stelle nicht verarbeitbar.

noch mal eine erklärung was ich genau meine....

ich habe eine datei:

texttexttext "id=1234" (unbestimmterzahlenwert) texttexttext align="right">0.23%<"(unbestimmterprozenzwert) texttexttext
texttexttext "id=4321" (unbestimmterzahlenwert) texttexttext align="right">6.30%<"(unbestimmterprozenzwert) texttexttext
texttexttext "id=6543" (unbestimmterzahlenwert) texttexttext align="right">3.84%<"(unbestimmterprozenzwert) texttexttext

und ich möchte das die bat nach id= sucht und mir den danach stehenden zahlen wert ausgibt und aus der selben zeile soll er nach align="right"> suchen und mir den danach folgenden prozent wert auch ausgeben... quasi so das ich

id=1234 0.23%
id=4321 6.30%
id=65433 3.84%

als ausgabe erhalte....
Bitte warten ..
Mitglied: Biber
23.08.2006 um 23:23 Uhr
Man/frau nennt mich auch "Biber, den Geduldigen"...

Wenn Deine Textdatei "Pr0vieHsein.txt" so aussieht:
01.
texttexttext "id=1234" (unbestimmterzahlenwert) texttexttext align="right">0.23%<"(unbestimmterprozenzwert) texttexttext 
02.
texttexttext "id=4321" (unbestimmterzahlenwert) texttexttext align="right">6.30%<"(unbestimmterprozenzwert) texttexttext 
03.
texttexttext "id=6543" (unbestimmterzahlenwert) texttexttext align="right">3.84%<"(unbestimmterprozenzwert) texttexttext
...dann erzeugt am CMD-Prompt ...den darunter stehenden Output
01.
>for /f "tokens=2,6 delims=<> " %a in (Pr0vieHsein.txt) do @echo %~a %b 
02.
id=1234 0.23% 
03.
id=4321 6.30% 
04.
id=6543 3.84%
und
01.
>for /f "tokens=2,6 delims=<> " %a in ('findstr "id=1234" Pr0vieHsein.txt') do @echo %~a %b 
02.
id=1234 0.23%
Variante mit FIND:
01.
>for /f "skip=2 tokens=2,6 delims=<> " %a in ('find "id=1234" Pr0vieHsein.txt') do @echo %~a %b 
02.
id=1234 0.23%
Kommen wir der Sache näher?
Bitte warten ..
Mitglied: Pr0vieH
24.08.2006 um 00:36 Uhr
hmm ja wir kommen der sache erheblich näher

aber vll ist es besser mal eine original zeile zu posten...


<tr><td class="dr" width="20" onmouseover="showstats(event,'sr15261');" onmouseout="clearstats('sr15261');"><a href="/db/item.html?witem=15261"><im* src="/images/icons/INV_Hammer_16.png" height="20" border="0" width="20" alt="Icon" /></a></td><td class="dr" style="white-space:nowrap;min-width:250px;"><div class="wowitem" onmouseover="showstats(event,'sr15261');" onmouseout="clearstats('sr15261');"><a href="/db/item.html?witem=15261"><span class="greenname">Sequoia Branch of ...</span></a></div></td><td class="dr" align="right">0.03%</td><td class="dr" align="right">(32 / 111,941)</td></tr>

ich habe mal die stellen die er mir aus der zeile herrausfiltern soll Fett markiert

danke für deine geduld und deine ideen

ps: sollte das mit Pr0vieHsein.txt eine anspielung auf meinen namen sein ? :D hehe

greets Pr0vieH aka aNNa wAndLanG ;)
Bitte warten ..
Mitglied: verkehrsberuhigt
24.08.2006 um 10:13 Uhr
Man/frau nennt mich auch "Biber, den Geduldigen"...
Und das durchaus mit Recht...
Bitte warten ..
Mitglied: Pr0vieH
24.08.2006 um 14:50 Uhr
hmm es muss doch eine möglichkeit geben zusagen alle zahlen die hinter witem= stehen soll er ausgeben oder etwa nicht ? also wenn nicht mit einer batch datei hat jemand vll eine andere idee z.B. habe ich mal ein Perl script gesehen das bestimmte werte aus einer datei raus gezogen hat... aber da ich kein Perl kann weiß ich natürlich nicht wie ich das script umschreiben muss -.-

greets Pr0vieH
Bitte warten ..
Mitglied: Biber
26.08.2006 um 17:25 Uhr
greets Pr0vieH aka aNNa wAndLanG ;)
Unglaublich, was manche Eltern ihren Kidz mit der Namensgebung antun. *kopfschüttel*
Bei uns in der Straße lebte auch eine Familie Poppen, die tauften ihre Tochter Wilma.

Aber da ich hier als Mod ohnehin schon ganz ausgelastet bin, habe ich gar keinen Ehrgeiz, auch noch zusätzlich witzig sein zu wollen und mir mit aNNa wAndLanG's oder W1Lm4 P0pp3N's funkensprühende Dialoge zu schreiben.
Außerdem bin ich ohnehin absolut humorlos.

Back To Thread.

Du kannst es gern mit Perl machen - kann ich nicht bei helfen.
Im Batch bzw. an der CMD-Line würde ich zuerst alle HTML-Tags als je ein Token betrachten (also "Delims=<>"). Dann sind z.B. das 3te und 17. Token die relevanten.

Das dritte Token wird noch einmal zerlegt mit "DELIMS==?", also Fragezeichen und Gleichheitszeichen.
01.
>for /F "eol=; Tokens=3,17 delims=<>" %a in (Pr0vieHsein.txt) do @for /f "tokens=3-4 delims==?" %i in ("%a") do echo [^"%i=%j] && echo [%b] 
02.
####Output: 
03.
["witem=15261"] 
04.
[0.03%]
Oder, alternativ die zusätzliche Zerlegung des 17. Tokens
01.
<a href="/db/item.html?witem=15261">
mit dem Delimiter "?":
01.
>for /F "eol=; Tokens=3,17 delims=<>" %a in (Pr0vieHsein.txt) do @for /f "tokens=2 delims=?" %i in ("%a") do echo [^"%i] && echo [%b] 
02.
####Output ebenfalls: 
03.
["witem=15261"] 
04.
[0.03%]
Hope That Helps
Biber aka B1B3R
Bitte warten ..
Mitglied: Pr0vieH
27.08.2006 um 19:35 Uhr
ja danke biber hat soweit erstmal geklappt aber da die datei noch wesendlich mehr informationen enthält hat mir ein freund ein java programm gebaut

aber hab eine weitere frage.....

wie kann ich mit einer bat datei eingaben in einem anderem cmd programm tätigen ?

ich weiß das es mit echo [eingabe] | [Programm] geht

aber da er das programm einmal starten soll und mehrere zeilen eingeben soll ist das ungeeignet weil sonst müsste ich jedes mal das programm starten kannst du mir da vll auch helfen ?
Bitte warten ..
Mitglied: Biber
27.08.2006 um 20:23 Uhr
Moin Pr0vieH,

um mehr als einfache "J"/"N"-Antworten oder bestenfalls einzelne Worte "auszuführen", ist diese ECHO...PIPE-Mimik schlecht geeignet.

Suche mal über Forumssuche nach AutoIt. Das ist da besser geeignet.

Diesen Beitrag setze ich jetzt mal auf "Gelöst" und "Geschlossen", denn von der ursprünglichen Fragestellung "Filtern mit Find" sind wir mittlerweile Lichtjahre entfernt.

Schönen Abend und stressarmen Wochenbeginn
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Server

Ereignisanzeige - Nach verschobenen Dateien filtern

Frage von SteckenWindows Server1 Kommentar

Hallo zusammen, Ich würde aus der Ereignisanzeige gerne rausfiltern, wenn Dateien verschoben worden sind. Beim Löschen geht das einfach ...

Batch & Shell

(Batch): "Find" Befehl nach aktuellem Datum filtern

gelöst Frage von unauthorized-userBatch & Shell3 Kommentare

Guten Morgen an alle, für die Dokumentation der Server-Updates habe ich eine winzige *.Bat-Datei geschrieben, welche mir alle installierten ...

Batch & Shell

Powershell Filtern Filtern Filtern

gelöst Frage von H41mSh1C0RBatch & Shell10 Kommentare

Aloa in die Runde, ich brech mir gerade wieder etwas die Finger ^^ am Freitag. DataTable einmal durchlaufen und ...

Batch & Shell

Zeile 12 aus einer TXT-Datei auslesen und als Datei-Name für die TXT-Datei verwenden (für sämtliche TXT-Dateien in einem Verzeichnis!)

gelöst Frage von MrBratwurstBatch & Shell15 Kommentare

Hallo liebe Batch-Pros, als Newbie stehe ich gerade vor der Aufgabe, dass ich in einem Verzeichnis mit Txt-Files (bzw. ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 2 TagenAusbildung33 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 3 TagenSpeicherkarten4 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 4 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung21 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware19 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Windows 10
Windows 10 Spracherkennung - Eure Meinungen?
Frage von honeybeeWindows 1014 Kommentare

Hallo, wollte heute mal aus Neugier die Spracherkennung unter Windows 10 (Version 1803) ausprobieren und war mehr wie enttäuscht. ...

Windows Server
Zertifikat RemoteDesktop hinterlegen
gelöst Frage von Green14Windows Server12 Kommentare

Hallo zusammen. ich habe mehrere Server (WinSrv 2016). Die Server sind in keiner Domäne und keine Terminalserver. Ich verbinde ...