Antons blogg om elektronik och Linux

Skriptsamling

Inledning

Skript är det bästa som finns! På denna sidan kommer jag att samla några av mina bästa, de flesta skrivna i Bash men eventuellt även en del skrivna i andra skriptspråk. Tänk på att alla är skräddarsydda för en viss situation och kanske inte fungerar alls i en annan. På samma sätt som ett skript kan spara mycket tid kan det också förstöra många timmars arbete. Om du tänker använda något av dem bör du säkerhetskopiera allt som finns i mappen du står i samt skriptets målmapp (om en sådan finns), såvida du inte är helt säker på vad kommandot gör. Det har jag lärt mig den hårda vägen.

Paketinstallationsskript

Som jag tidigare bloggat om här. Ett skript som installerar paket och lägger till PPAn i Ubuntu från listor – perfekt att ha för att snabbt komma igång igen efter en ominstallation. Se det länkade blogginlägget för mer information. Det är också dit ni får bege er för att hämta skriptet, åtminstone tills jag kommer på ett sätt att lägga upp stora textmassor på WordPress-sidor utan att det ser ut som, tja, stora oöverskådliga textmassor.

Nerladdningsskript

4chan.org

4chandl, skriptet som dumpar bilder från valfri 4chan-tråd och behåller deras ursprungliga namn har jag tidigare bloggat om här. Även i detta fallet får ni bege er till det aktuella blogginlägget för att hämta skriptet.

krautchan.net

Jag har varit inne på Krautchan vid ett tillfälle och vid det tillfället hade jag ett behov av att dumpa en hel tråd. Följande kommandon fixar det:

$ wget -e robots=off -E -nd -np -r -k -H -Dkrautchan.net/thumbnails,krautchan.net/download http://krautchan.net/valfritråd.html
$ grep -E -o 'http://krautchan.net/download/([0-9]*).(jpg|png|gif)/[[:alnum:]_-]*.*(jpg|png|gif)' valfritråd.html > links
$ wget -nc -i links

Om sista kommandot avbryts innan hämtningen är klar kommer en halvfärdig fil att sparas, som måste raderas manuellt för att den ska hämtas igen nästa gång. Några andra problem har jag inte stött på, men jag har som sagt bara testat det en gång.

blogg.no

Dessa kommandon kan användas för att dumpa alla bilder från valfri norsk blogg med adress exempel.blogg.no. Först hämtas en lista över arkivsidor (en för varje månad):

$ wget -qO- http://exempel.blogg.no/ | egrep -o http://exempel.blogg.no/m_[0-9]+.html | sort | uniq > links

Därefter går wget igenom varje arkivsida, en i taget och hämtar alla jpg-filer. Observera att bilderna börjar hämtas först efter att alla html-sidor gåtts igenom, så till en början kommer det att se ut som att wget inte gör någonting:

$ wget -erobots=off -nd -nc -r -l2 -H -A.jpg -Dbloggfiler.no,exempel.blogg.no -i links

Tänk på att det kan bli väldigt många bilder (rent av tusentals) beroende på vilken blogg det är.

FTP-dumpning med wget

Detta kommando laddar ner alla MP3-filer från en FTP-server eller en HTTP-server som tillåter kataloglistning:

$ wget -r -l1 -nd -np -nc -A.mp3 -erobots=off http://ftp.df.lth.se/pub/media/syntaxerror/

Adressen i exemplet ovan leder till ett arkiv med alla Sols radioprogram i P3 med temat 8-bitarsmusik från början av 2000-talet.

Filoperationer

Ändra [ och ] till ( och ) för alla FLAC-filer i nuvarande mapp:

$ for i in *.flac; do mv "$i" "$(echo "$i" | sed 's/\[/\(/g' | sed 's/\]/\)/g')"; done

Ta bort keepvid-länken från videoklipp som hämtats från Youtube med hjälp av keepvid.com:

$ mv fil "$(echo fil | sed 's/\ \[www.keepvid.com\]//')"

Sedan kan du installera Greasemonkey med skriptet Youtube Video Download så slipper du Keepvid i fortsättningen.

Hitta dubletter i den nuvarande mappen, sortera och skriv ut filen med högst nummer först (kopian) följt av originalet. Kanske omöjligt att hitta en tillämpning till🙂

$ fdupes -1 . | awk '{if($1>$2) print $1 " " $2; else print $2 " " $1;}' | sort

Taggning av FLAC-filer

Följande kommandon kan användas för att lägga till metadata i FLAC-filer baserat på deras filnamn. Du behöver debian/ubuntu-paketet flac för detta. Du måste också anpassa flera av dem för att passa dina filer.
Lägg till låttitel för filnamn liknande ”1. Adyta – The Neverending Embrace.flac”, ”01 – Façade of Reality (The Embrace that Smothers – Part V).flac” och ”05 Insomnia.flac”:

$ for i in *.flac; do metaflac "$i" --set-tag=TITLE="$(echo "$i" | egrep -o '\<[[:alpha:][:space:]_-()]+' | sed 's/.flac//')"; done

Lägg till låttitel för filnamn liknande ”01-Epica – Welcome To The Road To Paradiso (Caught In A Web).flac”:

$ for i in *.flac; do metaflac "$i" --set-tag=TITLE="$(echo "$i" | egrep -o '\<[[:alpha:][:space:]_-()]+' | sed 's/.flac//' | sed 's/Epica\ -\ //')"; done

Lägg till spårnummer för båda föregående filnamn:

$ for i in *.flac; do metaflac "$i" --set-tag=TRACKNUMBER="$(echo "$i" | egrep -o '^[0-9]+')"; done

Lägg till artist, album, inspelningsår och skivnummer genom att ange informationen manuellt:

$ metaflac *.flac --set-tag=ARTIST="artist" --set-tag=ALBUM="album" --set-tag=DATE=2004 --set-tag=DISCNUMBER=1

Övrigt

Sätt ihop flera PDF-filer till en enda:

$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=utfil.pdf -dBATCH fil1.pdf fil2.pdf fil3.pdf filn.pdf

Plocka ut ljudet från videofiler sparade från Youtube, exempelvis med Greasemonkey-skriptet Youtube Video Download. Ljudspåret kopieras bara från en container till en annan, så kvaliteten försämras inte till skillnad från om det kodas om. Det första kommandot gäller för MP4-filerna som innehåller ett AAC-ljudspår, och det andra kommandot gäller för de nya WebM-filerna som innehåller ett Vorbis-ljudspår:

$ ffmpeg -i nerladdad_video.mp4 -acodec copy -- ljudfil_att_spara.aac
$ ffmpeg -i nerladdad_video.webm -vn -acodec copy -- ljudfil_att_spara.ogg

Kommentera »

Inga kommentarer ännu.

RSS feed for comments on this post. TrackBack URI

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

Skapa en gratis webbplats eller blogg på WordPress.com.

%d bloggare gillar detta: