Sida 1 av 1

enkelt script för central spellista -help [LÖST]

Postat: 07 sep 2008, 19:08
av samurai
Hej,
Jag har knåpat ihop följande lilla nautilus-script.

Kod: Markera allt

for arg
do
pwd  > /home/henke/Skrivbord/playlist.m3ua
echo $arg > /home/henke/Skrivbord/playlist.m3ub

paste -d "/" /home/henke/Skrivbord/playlist.m3ua /home/henke/Skrivbord/playlist.m3ub >> /home/henke/Skrivbord/playlist.m3u

rm -rf /home/henke/Skrivbord/playlist.m3ua /home/henke/Skrivbord/playlist.m3ub
done
Tanken är att när man sitter och knappar runt bland alla spridda mp3 mappar att man skall kunna lägga till en låt i en central spellista som man även sen ska kunna använda att kopiera över alla låtarna till en mapp för bränning.
Scriptet fungerar, men jag tycker det borde gå att skriva det mycket enklare med variabler istället. Mitt problem har varit att få ut hela sökvägen och filen på ett vettigt sätt.
Någon som har nån ide ??

Re: enkelt script för central spellista -help

Postat: 07 sep 2008, 19:29
av Konservburk
Typ så här kanske?

Kod: Markera allt

for arg
do echo "$(pwd)/$arg" >>/home/henke/Skrivbord/playlist.m3u
done

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 09:59
av samurai
Beautiful.

Nu tyckte jag ju att det skulle vara enkelt att använda den resulterande filen med den fullständiga sökvägen till att bara kopiera över filerna i spellistan till en ny katalog.
Ack så jag bedrog mig.....
Så här långt har jag kommit och det fungerar, men även det här måste kunna göras mycket enklare... Det var inte bara bara med UTF-8 och åäö()& osv osv...

Kod: Markera allt

cat /home/henke/Skrivbord/playlist.m3u |sed -e 's/ /\\ /g' -e 's/(/\\(/g' -e 's/)/\\)/g' -e 's/&/\\&/g'|gawk '{print "cp " $0 " /home/henke/Skrivbord/mp3";}' > /home/henke/Skrivbord/mp3/playlist.txt;

sh /home/henke/Skrivbord/mp3/playlist.txt;
Någon som har en sjustare ide om att läsa ut sökvägen från spellistefilen, eller kanske har en helt ny twist på det hela. Nu har jag sedat och gawkat bort bara de specialtecken som jag snubblat på, men man vet ju aldrig vilka tecken som kan dyka upp i ett låtnamn eller sökväg.. Jag tycker dock att det är lite knepigt att åäö fungerar men inte :SPACE: eller ( ).. hmmm

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 11:03
av Konservburk
De tecken som du fastnat på är speciella för skalet. Men det finns många fler än de du har satt backslash framför. Om du vill escape:a alla sådana tecken så ska det dock räcka med att byta ut varje ' mot '\'' och sedan införa ett nytt ' på varje sida om varje filnamn. Men i det här fallet är det nog lättare att göra så här istället:

Kod: Markera allt

while read i
do cp "$i" /home/henke/Skrivbord/mp3/
done </home/henke/Skrivbord/playlist.m3u

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 11:24
av samurai
Vackert...
Det fungerar perfekt när jag kör det i skalet... Men inte som nautilus-script.

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 11:35
av Konservburk
På vilket sätt fungerar det inte som ett nautilus-skript? Får du några felmeddelanden, osv?

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 11:43
av samurai
Nej jag får inget felmeddelande. Filerna blir bara inte kopierade.
scriptet är körbart.
hmmm

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 11:59
av samurai
Jag har ingen aning om vad jag gjorde. Det ser precis likadant ut, men nu fungerar det helt plötsligt som nautilus script...
Tack för hjälpen :)

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 12:15
av KiviE
Bara för skoj skull ifall någon annan skulle vilja ha samma skript får du gärna posta den i sin helhet så det blir lättare för alla andra :)

Re: enkelt script för central spellista -help

Postat: 08 sep 2008, 12:27
av samurai
Ofta när man siter och ska göra ett "mix-band" till bilen så lägger man av för att man måste sitta och bläddra bland utforskarfönster eller ha flera fönster öppna osv.

Här är i alla fall ett enkelt litet nautilus-script (gnome) så man bara behöver högerklicka för att lägga till en låt i en spellista. Man kan sen använda den för att kopiera alla låtar i listan till en utvald mapp, varifrån man kan bränna eller vad man nu vill med filerna.

Jag skapade en mapp i min scriptkatalog "/home/henke/.gnome2/nautilus-scripts" som heter SPELLISTA.

Där i skapar jag tre script, eller rättare sagt jag krånglade till ordentligt innan Konservburken ledde vägen med finkoden.

Lägga till låten i listan: add-2-playlist.sh

Kod: Markera allt

#!/bin/sh

for arg
do 
echo "$(pwd)/$arg" >> /home/henke/Skrivbord/playlist.m3u
done
Ta bort listan: remove-playlist.sh

Kod: Markera allt

#!/bin/sh

 rm -rf /home/henke/Skrivbord/playlist.m3u
Kopiera låtarna i listan till bestämd mapp: copy-filelistfiles-2-folder.sh

Kod: Markera allt

#!/bin/bash

while read i 
do cp "$i" /home/henke/Skrivbord/mp3
done  < /home/henke/Skrivbord/playlist.m3u

Detta skapar altså en spellista och en katalog på mitt skrivbord.

Re: enkelt script för central spellista -help [LÖST]

Postat: 10 sep 2008, 09:33
av samurai
Nu överkursfastnade jag för det här...
Jag har t.o.m gjort ett install script... ha ha ... Noobstylish stylee

wget http://redneck.se/serv/playlist/install.sh && sh install.sh

Någon som har pillat med egen repository, så man kan samla alla feta grejer man vill på egen server ??