Kaplan Skrevet 19. juli 2011 Del Skrevet 19. juli 2011 (endret) Hadde håpet noen guruer her kunne ha hjulpet meg med et batch-script (eller en idé til hvordan dette kan løses enkelt....). Her er saken: jeg har et par hundre HTML-filer som inneholder masse info, men jeg skal ha tak i to linjer. Den ene står nokså langt nede i filen (sjelden på samme plass), og ser slik ut: <td> MODELL23 MODELL0023</td> Det er kun nummeret som endrer seg (altså MODELL0024, MODELL0025 osv), og det er kun MODELL0023 jeg trenger. Den andre linja står litt lengre opp, og ser slik ut: <a href="http://www.nettsidelink.noe/detaljer/ABC.html">Egenskap ABC</a> Det er kun det som står etter Egenskap som endrer seg, og jeg trenger kun Egenskap ABC. Alle html-filene heter navn001.html, navn002.html osv. Hvis outputen kunne kommet i en txt-fil som ser omtrent sånn ut, ville det vært gull: MODELL0023 Egenskap ABC MODELL0024 Egenskap ABD Osv Osv Noen som kan hjelpe? Jeg har ikke skrevet slikt noe på flere år, og er helt blank på hvor jeg begynner..... Endret 6. september 2011 av cyclo Emnetittel forbedret Lenke til kommentar
hockey500 Skrevet 19. juli 2011 Del Skrevet 19. juli 2011 (endret) kanskje du kan basere noe på dette her: #!/bin/bash OLDIFS=$IFS IFS=$'\n' for html in *.html; do modell=$(egrep -o "MODELL[0-9]{4}" "$html") uri=$(grep "<a href=" "$html" | sed 's/<a href="\(.*\)">\(.*\)<\/a>/\1*\2/g') echo "$modell" >> "$1" for url in $uri; do part1=$(echo "$uri" | egrep -o "^[^*]*") part2=$(echo "$uri" | egrep -o "[^*]*$") base=`basename $(echo ${part1%.*})` if [ "Egenskap $base" = "$part2" ]; then echo "$part2" >> "$1" fi done done IFS=$OLDIFS kjøres slik: "./script.sh output.txt" EDIT: liten bug Endret 19. juli 2011 av hockey500 1 Lenke til kommentar
Kaplan Skrevet 19. juli 2011 Forfatter Del Skrevet 19. juli 2011 Takk for det! Da har jeg noe å begynne med! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå