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, 4493 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

IDE & Editoren
USB STICK Datei AUTOMATISCH beim anschliessen auf fremden PC öffnen (9)

Frage von Jwanner83 zum Thema IDE & Editoren ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...