Så här manipulerar du HTML- och XML-filer från kommandoraden
World Wide Web Consortium (W3C) har ett antal gratis verktyg som är tillgängliga för att hjälpa till med korrekt generering och bearbetning av HTML- och XML-filer. HTML-XML-paketet är en uppsättning enkla verktyg för att manipulera HTML- och XML-filer från kommandoraden. Den är tillgänglig för många av de olika Linux-distributionerna och kan vara användbar för dem som måste bearbeta HTML- eller XML-filer regelbundet.
För att installera paketet på Ubuntu, använd:
sudo apt-get installera html-xml-utils
Det finns 31 verktyg i detta paket, här är en sammanfattning av vad de kan göra:
- cexport - skapa headerfile av exporterade deklarationer från en C-fil
- hxaddid - lägg till ID: er till valda element
- hxcite - ersätt bibliografiska referenser med hyperlänkar
- hxcite-mkbib-expandera referenser och skapa bibliografi
- hxkopi - kopiera en HTML-fil samtidigt som du behåller relativa länkar
- hxcount - räkna in element och attribut i HTML- eller XML-filer
- hxextract - extrahera valda element
- hxclean - använd heuristics för att korrigera en HTML-fil
- hxprune - ta bort markerade element från en HTML-fil
- hxincl-expanderade inkluderade HTML- eller XML-filer
- hxindex - skapa ett alfabetiskt sorterat index
- hxmkbib - skapa bibliografi från en mall
- hxmultitoc - skapa en innehållsförteckning för en uppsättning HTML-filer
- hxname2id- flytta lite ID = eller NAME = från A-element till sina föräldrar
- hxnormalize - pretty-print en HTML-fil
- hxnum - nummer sektionsrubriker i en HTML-fil
- hxpipe- konvertera XML till ett format som är enklare att analysera med Perl eller AWK
- hxprintlinks-nummer länkar och lägg till tabell med webbadresser i slutet av en HTML-fil
- hxremove - ta bort valda element från en XML-fil
- hxtabletrans - transponera en HTML- eller XHTML-tabell
- hxtoc - lägg in en innehållsförteckning i en HTML-fil
- hxuncdata - ersätt CDATA-sektioner med karaktärsenheter
- hxunent - ersätt HTML fördefinierade tecken enheter till UTF-8
- hxunpipe- konvertera utdata från rör tillbaka till XML-format
- hxunxmlns - ersätt "globala namn" med XML Namnrymds prefix
- hxwls - lista länkar i en HTML-fil
- hxxmlns - ersätt XML-namnspace prefix med "globala namn"
- asc2xml, xml2asc- konvertera mellan UTF8 och enheter
- hxref - generera korsreferenser
- hxselect-extraktelement som matchar en (CSS) väljare
För att introducera dig till kraften i denna verktygssats, här är några exempel på hur du skulle använda några av kommandona.
hxnormalize
" hxnormalize
" kommer att omformatera en HTML-fil så att den är lätt att läsa och snyggt formaterad. För att testa detta kommando skapar vi en ful HTML. Markera och kopiera följande rader och klistra in dem direkt i ett terminalfönster.
katt> test.html << __EOF__Hallå __EOF__
Detta skapar en fil som heter test.html. HTML saknar några av stängningskoderna och är alla skrivna i en rad. Kommandot hxnormalize
kommer att omformatera filen och skriva den vackra versionen till standardutgången (stdout). Så här kör du kommandot:
hxnormalize -e test.html
"-e" -flaggan säger hxnormalize för att infoga några saknade stängningskoder.
Du kan också köra kommandot mot en webbsida genom att ersätta "test.html" med en webbadress, till exempel:
hxnormalize http://www.example.com
Kommandot hxwls
kommer att analysera en lokal HTML-fil eller en webbplats och lista länkarna i HTML-filen. Till exempel:
hxwls http://www.example.com
Här är de första utmatningslinjerna för Make Tech Easier-webbplatsen:
Kommandot hxtabletrans
ändrar ett bord så att rader blir kolumner och kolumner blir rader.
Låt oss skapa en HTML-fil med en enkel tabell. Markera och kopiera följande rader och klistra in dem direkt i ett terminalfönster.
katt> table.html << __EOF__
Jill | Smed | 50 |
eve | Jackson | 94 |
Resultatet är en fil som heter table.html. I en webbläsare skulle tabellen se ut så här:
Jill | Smed | 50 |
eve | Jackson | 94 |
Om du kör kommandot hxtabletrans
skriver det det transponerade tabellen till standardutgången. Resultaten kan omdirigeras till en annan fil så här:
hxtabletrans table.html> table2.html
Den nya filen, table2.html, visar Jill Smith och Eve Jackson i kolumner, snarare än i rader som i originalet. Den resulterande tabellen blir något så här:
Jill | eve |
Smed | Jackson |
50 | 94 |
De flesta kommandona används på samma sätt som ovanstående exempel, dvs du måste ange en fil eller en URL för att bearbeta och utgången skrivs till stdout. Försök att experimentera med de olika kommandona som du kan finna dem användbara.
Om du har några frågor om HTML-XML-verktygen kan du gärna fråga dem i kommentarerna nedan och vi kommer se om vi kan hjälpa till.