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

Wort aus Datei herausfiltern von Zeichen x bis y

Frage Entwicklung Batch & Shell

Mitglied: poopie

poopie (Level 1) - Jetzt verbinden

10.05.2009, aktualisiert 23:25 Uhr, 4499 Aufrufe, 9 Kommentare

Hallo,
ich würde gerne ein Wort aus einer Textdatei herausfiltern und als Variable weiter benutzen.
Die datei enthälter unter anderen folgendes
<option selected="selected">MEIN TEXT</option>
Und MEIN TEXT würde ich gerne weiterbenutzen.

Meine Frage ist ob das machbar ist und wenn ja, wie?

Vielen Dank für's lesen. und evtl. antworten
Mitglied: MKzero
11.05.2009 um 10:01 Uhr
Mhh.. mit nem batch? Glaube ich eher nicht...
Bitte warten ..
Mitglied: poopie
11.05.2009 um 10:28 Uhr
Wenn es mit Batch nicht geht, würde ich mich auch mit Perl zufrieden stellen lassen.
Das heißt dann wohl das hier kann zugemacht werden und ich schreib den Beitrag nochmal im Perl Bereich.
Bitte warten ..
Mitglied: miniversum
11.05.2009 um 13:38 Uhr
Klar geht das mit Batch:
01.
FOR /F "tokens=2 delims=<>" %%i in ('findstr /B /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i" 
02.
echo %text%
Bitte warten ..
Mitglied: poopie
15.05.2009 um 12:55 Uhr
Also ich hab das nun getested und muss leider sagen das es nicht funktioniert.
So wird leider kein Text ausgegeben.
Bitte warten ..
Mitglied: miniversum
15.05.2009 um 16:25 Uhr
Ich habs grade bei mri ausprobiert udn hier funktioniert es
Ich habe allerdings eine datei genommen die nur diese eine zeile enthällt.
Du kannst es ja schrittweise mal direkt in der cmd testen.
Findet er die richtige Zeile wenn du das eingibst:
findstr /B /R "<option selected="selected">" "C:\Datei.txt"
Was kommt dort als Ergebnis raus?
Den Dateinamen und Pfad musst du natürlich anpassen.
Bitte warten ..
Mitglied: 78632
15.05.2009 um 17:25 Uhr
Versuch's mal so:

01.
@echo off  
02.
FOR /F "tokens=3 delims=>=<" %%i in ('findstr /B /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i"  
03.
pause
Bitte warten ..
Mitglied: Biber
15.05.2009 um 18:09 Uhr
Moin miniversum und blablanick (willkommen im Forum),

quält Euch doch nicht rum mit sinnlosem Rumgerate.

Solange nicht bekannt ist, wie die zu lesende Datei aussieht geht Dein Ansatz, blablanick, beispielsweise in diesem Fall in die Grütze:
01.
 
02.
<html> 
03.
<head><!-- PageID 3 - published by RedDot 7.5 - 7.5.1.31 - 22877 --> 
04.
<title> 
05.
....
... und miniversums Findstr fasst ins Leere, wenn die HTML/XML-Datei keine CRLFs enthält oder der gesuchte Tag nicht als eigene Zeile separiert ist.

Lasst doch den Thread-Copy&Paster noch 2 oder 3 Doppelpostings mehr machen, vielleicht kommt er ja mal von allein auf den Bolzen, ein paar Infos mehr zu geben.
Oder gar einen aussagefähigen Ausschnitt der Quelldatei.

BTW ungeklärte Fragen des IT-Alltags:
WTHF kann denn der Grund sein, weshalb ich außerhalb einer Applikation, die mit Tags umgehen kann wissen wollen mag, welche Option "selected" ist????
Wer außer der Appz, die das geschrieben hat und auch sicherlich lesen kann will das denn wozu auslesen??

Es geht mich ja nix an, was da zusammengeschrotet werden soll, aber kaufen würde ich es eher nicht.

Grüße
Biber
Bitte warten ..
Mitglied: 78632
15.05.2009 um 19:02 Uhr
Zitat von Biber:

Solange nicht bekannt ist, wie die zu lesende Datei aussieht geht
Dein Ansatz, blablanick, beispielsweise in diesem Fall in die
Grütze:

Ach was, ich bin da flexibel.

01.
@echo off  
02.
For /F "tokens=5 delims=>=< " %%i in ('findstr /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i" 
03.
 
04.
echo %text% 
05.
pause
Wenn "MEIN TEXT" dann tatsächlich aus 2 Worten bestehen sollte, nimmt man halt
01.
 for /F "tokens=5,6 delims=>=< " %%i in ('findstr /R "<option selected="selected">" "C:\Datei.txt"') do set "text=%%i %%j"
Aus der Fragestellung
Und MEIN TEXT würde ich gerne weiterbenutzen.
und dem zuvor für findstr verwendete Parameter /B geht doch imo einwandfrei hervor, was der Fragesteller möchte, also lässt sich die Frage erst einmal zutreffend beantworten.

:-P
Bitte warten ..
Mitglied: bastla
19.05.2009 um 00:37 Uhr
@78632
... und dem zuvor für findstr verwendete Parameter /B geht doch imo einwandfrei hervor, was der Fragesteller möchte
Wenn der Fragesteller "findstr /B" verwendet hätte ...
Ev noch etwas flexibler (wenn auch nur mehr mit Batch-"Hülle"), aber immer noch von der (noch fehlenden) Beschreibung des Inhaltes von "MEIN TEXT" (Stichwort "Sonderzeichen") abhängig:
01.
@echo off & setlocal 
02.
set "Datei=D:\Die Datei.xml" 
03.
set Suche="<option selected=""selected"">(.+)</option>" 
04.
 
05.
set G=%temp%\GetValue.vbs 
06.
>%G%  echo T=CreateObject("Scripting.FileSystemObject").OpenTextFile("%Datei%").ReadAll 
07.
>>%G% echo Set rE=New RegExp:rE.Global=True:rE.IgnoreCase=True:rE.Pattern=%Suche% 
08.
>>%G% echo For Each M In rE.Execute(T):WScript.Echo M.SubMatches(0):Next 
09.
 
10.
for /f "delims=" %%i in ('cscript //nologo %G%') do call :ProcessValue "%%i" 
11.
goto :eof 
12.
 
13.
:ProcessValue 
14.
echo Gefunden: %1 
15.
goto :eof
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Linux
E-Mail zu Datei (3)

Frage von schneerunzel zum Thema Linux ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (16)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...