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

Bestimtme Links aus Quelltext in txt speichern.

Frage Entwicklung Batch & Shell

Mitglied: Subrosa20

Subrosa20 (Level 1) - Jetzt verbinden

28.05.2013 um 20:30 Uhr, 6963 Aufrufe, 3 Kommentare

Hallo,
da ich nun nach einer echten Ewigkeit noch keine Lösung gefunden habe, bitte ich hier mal um Hilfe!

Ich habe eine .txt (a.txt) datei die einen Ursprünglichen html-Quelltext enthält. Aus dieser Datei sollen nun mittels Batch alle Links, die mit "http://www.webseite.de/six/src/" beginnen ausgelesen und in eine neue Textdatei gespeichert werden (1 Link Pro Zeile). Einige Beispiele wären:

http://www.webseite.de/six/src/135255765397.jpg
http://www.webseite.de/six/src/135257344398.jpg
http://www.webseite.de/six/src/135255799129.jpg

Sprich: Der Link bleibt gleich, bis auf die Zahl.



Die Links liegen alle auf folgende Weise in der Ausgangsdatei vor:

... <a target="_blank" href="/out.php?url=http://www.webseite.de/six/src/135255765397.jpg;>; <span id ...


Nochmal im kurzdurchlauf:

Textdatei auslesen und das was zwischen

" <a target="_blank" href="/out.php?url= "

und

" "> <span id ... "

steht in eine neue datei kopieren. -> b.txt



Mit

findstr /c:"http://www.webseite.de/six/src/" a.txt > b.txt

konnte ich bereits alle zeilen die einen Link enthalten wie gewünscht auslesen. Aber den Rest bekomme ich leider nicht weg. Gibt es einfachere Lösungswege IN BATCH?



Danke und liebe Grüße,
Thomas.

Mitglied: bastla
28.05.2013, aktualisiert um 21:02 Uhr
Hallo Subrosa20 und willkommen im Forum!

Im einfachsten Fall etwa so:
01.
@echo off & setlocal 
02.
del b.txt 2>nul 
03.
for /f "delims=" %%i in ('findstr /c:"http://www.webseite.de/six/src/" a.txt') do set "Zeile=%%i" & call :ProcessLine 
04.
goto :eof 
05.
 
06.
:ProcessLine 
07.
for /f "delims==; >" %%a in ("%Zeile:*url=%") do >>b.txt echo %%a 
08.
goto :eof
Da Deiner Darstellung nicht so ganz genau zu entnehmen ist, ob nach dem Link nun ein Semikolon, ein Leerzeichen oder gleich ein ">" folgt, habe ich alle 3 Möglichkeiten berücksichtigt ...

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
28.05.2013, aktualisiert 29.05.2013
Hallo Subrosa20,

ein Vorschlag mit GNU sed:

01.
@echo off&setlocal 
02.
(for /f %%i in ( 
03.
'sed "s/.*=\(.*\);.;.*/\1/" file' 
04.
) do ( 
05.
echo(%%i 
06.
))>out.txt
Gruss!
Bitte warten ..
Mitglied: colinardo
29.05.2013, aktualisiert um 10:24 Uhr
und für die Powershell-Fraktion:
01.
function Get-Matches($Pattern,$groupNumber = 0) { 
02.
  begin { $regex = New-Object Regex($pattern) } 
03.
  process { foreach ($match in ($regex.Matches($_))) { ([Object[]]$match.Groups)[$groupNumber].Value } } 
04.
05.
 
06.
$Textdatei = "D:\a.txt" 
07.
get-content $Textdatei | Get-Matches "(?i)\bhttp://www.webseite.de/six/src/[0-9]*\.jpg"
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (25)

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

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...