Zitat von
msi
wenn die datei noch mehr leerzeichen enthält musst du den perl
ausdruck natürlich noch anpassen.
Ich habe das ganze mit einer Datei getestet, die genauso aussieht wie du
im Quote vermerkt hast (also keine leerzeichen usw)
hiermit kannst dus auch versuchen, ist vllt leichter zu verstehen
Code:
perl -ne '(/^\s*([A-Z]+):/ and $k=$1) or ($k eq "LINKS" and /http:/ and print)'
Ok. Danke. Einen Gefallen hätte ich noch. Zwar ist es leicht einfach nur zu Fragen ... aber viel lieber würde ich auch wissen was die Zeile in Worten übersetzt zu bedeuten hat. So habe ich für die Zukunft auch was gelernt und nicht einfach copy&paste betrieben
Und weil du gerade meinst wegen den Zeilenabständen...
GANZ genau sieht meine Datei so aus
Code:
SEITE:
http://meinedomain.tld/xyz.html
http://meinedomain.tld/xyz2.html
http://meinedomain.tld/asf.html
LINKS:
http://meinedomain.tld/9seqe1
http://meinedomain.tld/o1cx5z
http://meinedomain.tld/9857bx
ADMIN:
http://meinedomain.tld/9seqe18nrzpc3kuqdw5cyperdm93eksu
http://meinedomain.tld/o1chu11c1dvx14sx5zv8hnln4iko5qa2
http://meinedomain.tld/98djojlmixomwsup14qvp57bxu6nte3x
Wäre es nicht besser man würde direkt auf die 6 Zeichen am Ende der Links von LINKS eingehen anstatt man das ganze File anhand von Zeilenabständen durchsucht? Denn es können auch an jeder stelle mal 10 oder 100 Links stehen und dann passt das ganze wieder nicht mehr oder?
Wie z.B. [.......] für 7 variable Zeichen (können auch 10 Zeichen sein. Es wird sonst nie irgendwo vorkommen, dass bei den LINKS mehr als 10 Zeichen nach den Slash stehen) ... habe ich irgendwo auf einer Seite gefunden nur funktioniert das nicht ... also
Code:
awk '/http:\/\/meinedomain.tld\/[.......]/ {print $1}' 24.03.2010.txt
oder vielleicht auch ein
Code:
awk '/http:\/\/meinedomain.tld\/[A-Z][a-z]/ {print $1}' 24.03.2010.txt
oder so ... bin mir regex absolut garnicht vertraut und auch das "schnelle einlesen" funktioniert hier nicht
Danke. Gruß
Lesezeichen