Slik manipulerer HTML og XML-filer fra kommandolinjen
World Wide Web Consortium (W3C) har en rekke gratis verktøy tilgjengelig for å hjelpe til med riktig generering og behandling av HTML og XML-filer. HTML-XML-pakken er et sett med enkle verktøy for å manipulere HTML- og XML-filer fra kommandolinjen. Den er tilgjengelig for mange av de forskjellige Linux-distribusjonene, og kan være nyttig for de som må behandle HTML- eller XML-filer regelmessig.
For å installere pakken på Ubuntu, bruk:
sudo apt-get install html-xml-utils
Det finnes 31 verktøy i denne pakken, her er et sammendrag av hva de kan gjøre:
- cexport - opprett headerfile av eksporterte erklæringer fra en C-fil
- hxaddid - legg til ID-er til utvalgte elementer
- hxcite - erstatt bibliografiske referanser ved hjelp av hyperkoblinger
- hxcite-mkbib - utvider referanser og lager bibliografi
- hxkopi - kopier en HTML-fil mens du beholder relative lenker
- hxcount - telle elementer og attributter i HTML- eller XML-filer
- hxextract - trekk ut utvalgte elementer
- hxclean - bruk heuristikk for å korrigere en HTML-fil
- hxprune - fjern merkede elementer fra en HTML-fil
- hxincl-expand inkluderte HTML- eller XML-filer
- hxindex - opprett en alfabetisk sortert indeks
- hxmkbib - lag bibliografi fra en mal
- hxmultitoc - Lag en innholdsfortegnelse for et sett med HTML-filer
- hxname2id- flytt noen ID = eller NAME = fra A-elementer til foreldrene sine
- hxnormalize - pretty-print en HTML-fil
- hxnum - nummer seksjonsoverskrifter i en HTML-fil
- hxpipe- konverter XML til et format lettere å analysere med Perl eller AWK
- hxprintlinks- nummer linker og legg til tabell med webadresser på slutten av en HTML-fil
- hxremove - fjern valgte elementer fra en XML-fil
- hxtabletrans - transponere et HTML- eller XHTML-tabellen
- hxtoc - sett inn en innholdsfortegnelse i en HTML-fil
- hxuncdata - erstatt CDATA seksjoner etter tegn enheter
- hxunent - erstatte HTML forhåndsdefinerte tegn enheter til UTF-8
- hxunpipe- konvertere utdata av røret tilbake til XML-format
- hxunxmlns - erstatt "globale navn" ved hjelp av XML-navnspace-prefikser
- hxwls - liste lenker i en HTML-fil
- hxxmlns - erstatt XML-prefiks for prefiks med "globale navn"
- asc2xml, xml2asc- konverter mellom UTF8 og enheter
- hxref - generere kryssreferanser
- hxselect-ekstraktelementer som samsvarer med en (CSS) velger
For å introdusere deg til kraften til dette verktøysettet, her er noen eksempler på hvordan du vil bruke noen av kommandoene.
Kommandoen " hxnormalize
" vil reformatere en HTML-fil slik at den er lett å lese og pent formatert. For å teste denne kommandoen, vil vi lage en stygg HTML. Velg og kopier følgende linjer og lim dem direkte inn i et terminalvindu.
katt> test.html << __EOF__Hallo __EOF__
Dette vil opprette en fil som heter test.html. HTML-en mangler noen av de avsluttende kodene og er skrevet i en linje. hxnormalize
kommandoen vil formatere filen og skrive den vakre versjonen til standardutgangen (stdout). Slik gjør du kommandoen:
hxnormalize -e test.html
"-e" -flagget forteller hxnormalisere for å sette inn eventuelle manglende lukkekoder.
Du kan også kjøre kommandoen mot en nettside ved å erstatte "test.html" med en nettadresse, for eksempel:
hxnormalisere http://www.example.com
hxwls
kommandoen vil analysere en lokal HTML-fil eller et nettsted, og oppgi linkene i HTML-koden. For eksempel:
hxwls http://www.example.com
Her er de første utgangslinjene for Make Tech Easier-nettstedet:
Kommandoen hxtabletrans
endrer et bord slik at rader blir kolonner og kolonner blir rader.
La oss lage en HTML-fil med et enkelt bord. Velg og kopier følgende linjer, og lim dem deretter direkte inn i et terminalvindu.
katt> table.html << __EOF__
Jill | Smith | 50 |
Eve | Jackson | 94 |
Resultatet er en fil som heter table.html. I en nettleser ville tabellen se slik ut:
Jill | Smith | 50 |
Eve | Jackson | 94 |
Hvis du kjører kommandoen hxtabletrans
, vil den skrive den transponerte tabellen til standardutgangen. Resultatene kan omdirigeres til en annen fil som dette:
hxtabletrans table.html> table2.html
Den nye filen, table2.html, viser Jill Smith og Eve Jackson i kolonner, i stedet for i rader som i originalen. Den resulterende tabellen vil være noe slikt:
Jill | Eve |
Smith | Jackson |
50 | 94 |
De fleste kommandoer brukes på samme måte som eksemplene ovenfor, det vil si at du må spesifisere en fil eller URL for å behandle og utdataene er skrevet til stdout. Prøv å eksperimentere med de forskjellige kommandoene som du kanskje finner dem nyttige.
Hvis du har spørsmål om HTML-XML-verktøyene, kan du gjerne spørre dem i kommentarene nedenfor, og vi vil se om vi kan hjelpe.