abonnement Unibet Coolblue Bitvavo
  dinsdag 8 mei 2012 @ 23:25:55 #126
44552 Black_Ninja
Ninja's bestaan!
pi_111315230
quote:
0s.gif Op dinsdag 8 mei 2012 23:23 schreef slacker_nl het volgende:
DUDE STOP FUCKING WITH RELATIVES PATHS!!!!! ABSOLUTE PATHS PLEASE!!!!!!
Die werken dus ook niet! :P

Ik heb als eerste
1/home/musicbrainz/run_server.sh
geprobeerd maar dat deed niks, als ik die handmatig intik werkt het prima.
Domo Arigato!
  dinsdag 8 mei 2012 @ 23:27:20 #127
187069 slacker_nl
Sicko pur sang
pi_111315292
Dan moet je chmodden en/of je #! aanpassen en/of je PATH variabele in je script goed zetten. Niet werken is niet zo een duidelijke omschrijving ;)
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 8 mei 2012 @ 23:29:15 #128
45457 NightH4wk
Semper Fi!
pi_111315380
Weet je zeker dat het probleem niet in in .sh files zit? Environment variabelen worden overschreven. Dus vervang run_server.sh door run_replication.sh en kijk of de cron hem iig wel aanroept.
  dinsdag 8 mei 2012 @ 23:31:04 #129
44552 Black_Ninja
Ninja's bestaan!
pi_111315461
quote:
0s.gif Op dinsdag 8 mei 2012 23:27 schreef slacker_nl het volgende:
Dan moet je chmodden en/of je #! aanpassen en/of je PATH variabele in je script goed zetten. Niet werken is niet zo een duidelijke omschrijving ;)
Als ik meer info had zou ik het graag geven :@

quote:
0s.gif Op dinsdag 8 mei 2012 23:29 schreef NightH4wk het volgende:
Weet je zeker dat het probleem niet in in .sh files zit? Environment variabelen worden overschreven. Dus vervang run_server.sh door run_replication.sh en kijk of de cron hem iig wel aanroept.
run_replication.sh staat in dezelfde map als run_server.sh dat is dus allemaal zo vreemd :@
Domo Arigato!
  dinsdag 8 mei 2012 @ 23:38:05 #130
45457 NightH4wk
Semper Fi!
pi_111315796
quote:
run_replication.sh staat in dezelfde map als run_server.sh dat is dus allemaal zo vreemd
Maar wordt het script dus aangeroepen? Indien dat het geval is dat zit het probleem in de .sh.
  dinsdag 8 mei 2012 @ 23:40:09 #131
44552 Black_Ninja
Ninja's bestaan!
pi_111315878
quote:
0s.gif Op dinsdag 8 mei 2012 23:38 schreef NightH4wk het volgende:

[..]

Maar wordt het script dus aangeroepen? Indien dat het geval is dat zit het probleem in de .sh.
net het even omgedraaid en ook dan wordt replication wel aangeroepen en server niet.

als ik mijn eigen scriptje gebruik dan kan ik hem ook handmatig wel en niet via cronjob aanroepen. Moet ik heb dan speciale chmod rechten meegeven of iets dergelijks?
Domo Arigato!
  woensdag 9 mei 2012 @ 09:50:37 #132
44552 Black_Ninja
Ninja's bestaan!
pi_111324142
Inmiddels weer een stapje verder. Als ik run_server.sh opstart zie ik het een en ander gebeuren (hij geeft weer welke communicatie er plaats vind). Wanneer ik dan het ssh venster sluit sluit ook direct het script.

Ik zal hem dus als een soort daemon process moeten draaien denk ik, kan iemand me op weg helpen hoe ik dat moet doen? :@
Domo Arigato!
  woensdag 9 mei 2012 @ 10:00:22 #133
134103 gebrokenglas
Half human, half coffee
pi_111324383
quote:
0s.gif Op woensdag 9 mei 2012 09:50 schreef Black_Ninja het volgende:
Inmiddels weer een stapje verder. Als ik run_server.sh opstart zie ik het een en ander gebeuren (hij geeft weer welke communicatie er plaats vind). Wanneer ik dan het ssh venster sluit sluit ook direct het script.

Ik zal hem dus als een soort daemon process moeten draaien denk ik, kan iemand me op weg helpen hoe ik dat moet doen? :@
Als je een script autonoom wilt draaien, kan dat op 2 manieren


methode 1: nohup

Zoiets:
1
2
3
4
5
cd /tmp/
[ -f nohup.out ] && rm nohup.out
[ -f run_server.sh.log ] && rm run_server.sh.log
nohup /home/musicbrainz/run_server.sh &
mv nohup.out run_server.sh.log
Ouput komt dan in een /tmp/run_server.sh.log file terecht, maar je scherm kun je rustig sluiten.


methode 2: at
at is een mechanisme a la cron, om dingen op een later tijdstip uit te voeren.
Bijvoorbeeld het starten van een scriptje om 12 uur 's middags:
1
2
3
at 12pm
/home/bla/scriptje.sh
^d
Die ctrl-d is om aan at aan te geven dat je klaar bent met het opvoeren van de commando's.

In jouw geval

1
2
3
at now
/home/musicbrainz/run_server.sh
^d


[ Bericht 0% gewijzigd door gebrokenglas op 10-05-2012 08:17:24 ]
How can I make this topic about me?
  woensdag 9 mei 2012 @ 21:28:59 #134
44552 Black_Ninja
Ninja's bestaan!
pi_111353274
quote:
0s.gif Op woensdag 9 mei 2012 10:00 schreef gebrokenglas het volgende:

[..]

Als je een script autonoom wilt draaien, kan dat op 2 manieren

methode 1: nohup

Zoiets:
[ code verwijderd ]

Ouput komt dan in een /tmp/run_server.sh.log file terecht, maar je scherm kun je rustig sluiten.

methode 2: at
at is een mechanisme a la cron, om dingen op een later tijdstip uit te voeren.
Bijvoorbeeld het starten van een scriptje om 12 uur 's middags:
[ code verwijderd ]

Die ctrl-d is om aan at aan te geven dat je klaar bent met het opvoeren van de commando's.

In jouw geval
[ code verwijderd ]

_O_ _O_ _O_ _O_ _O_ _O_

Je bent geweldig!!! HET WERKT!!! *O* *O* *O* *O* *O*

_O_ _O_ _O_ _O_ _O_ _O_
Domo Arigato!
pi_111893073
scr0xaxis=$(xrandr --current | grep '*+' | uniq | awk '{print $1}' | cut -d 'x' -f1)
scr0yaxis=$(xrandr --current | grep '*+' | uniq | awk '{print $1}' | cut -d 'x' -f2)
scr1xaxis=$(xrandr --current | grep '* ' | uniq | awk '{print $1}' | cut -d 'x' -f1)
scr1yaxis=$(xrandr --current | grep '* ' | uniq | awk '{print $1}' | cut -d 'x' -f2)

$((element00=scr0xaxis/(scr0xaxis + scr1xaxis)))
$((element11=scr0yaxis/scr1yaxis))

echo -e $element00
echo -e $element11

Ik krijg steeds
0
0

terwijl het
0.5
0.78125

zou moeten zijn
(scr0xaxis = scr1xaxis = 1280, scr0yaxis = 800, scr1yaxis = 1024)
  dinsdag 22 mei 2012 @ 20:36:55 #136
187069 slacker_nl
Sicko pur sang
pi_111893577
Post eens de output van xrandr --current

Never mind, zie het al

printf "%.2f\n" $ding :)

En anders moet je met bc werken:

echo "scale = 4 ; $x + $y" | bc

ben je er ook.
In theory there is no difference between theory and practice. In practice there is.
pi_111896393
Oke maar ik gebruik de variabele $element00 en $element11 eigenlijk niet om te echo-en ik wou het puur even printen om te debuggen... maar hoe kan ik het gebruiken in een commando?

Dit is het geheel...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function mapstylus()
{
    scr0xaxis=$(xrandr --current | grep '*+' | uniq | awk '{print $1}' | cut -d 'x' -f1)
    scr0yaxis=$(xrandr --current | grep '*+' | uniq | awk '{print $1}' | cut -d 'x' -f2)
    scr1xaxis=$(xrandr --current | grep '* ' | uniq | awk '{print $1}' | cut -d 'x' -f1)
    scr1yaxis=$(xrandr --current | grep '* ' | uniq | awk '{print $1}' | cut -d 'x' -f2)

    $((element00=scr0xaxis/(scr0xaxis + scr1xaxis)))
    $((element11=scr0yaxis/scr1yaxis))

    echo -e "scale = 5; $element00" | bc
    echo -e "scale = 5; $element11" | bc

    #xinput set-prop "Serial Wacom Tablet stylus" --type=float "Coordinate Transformation Matrix" $element00 0 0 0 $element11 0 0 0 1
}

wil het gebruiken om de xinput transformatie matrix aan te passen van mijn stylus.
  dinsdag 22 mei 2012 @ 21:24:06 #138
187069 slacker_nl
Sicko pur sang
pi_111897769
nee, drop ff die output (heb hier geen linux bak dus enzo..)

btw, beetje optimalisatie:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function my_function() {
local output="$(xrandr --current)"

local w=$(echo -e "$output" | grep shizzle1)
local x=$(echo -e "$output" | grep shizzle2) 
local y=$(echo -e "$output" | grep shizzle3)
local z =$(echo -e "$output" | grep shizzle4)

local iets=$(echo "scale = 4; $x + $w | bc)
local anders=$(echo "scale 4; $y + $z" | bc )

xinput set-prop "Serial Wacom Tablet stylus" --type=float "Coordinate Transformation Matrix" $iets 0 0 0 $anders 0 0 0 1

}


[ Bericht 0% gewijzigd door slacker_nl op 22-05-2012 21:30:43 ]
In theory there is no difference between theory and practice. In practice there is.
pi_120237695
Is er hier nog leven? Ik kan wel wat hulp gebruiken hehe.
Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable.
  woensdag 12 december 2012 @ 18:33:52 #140
187069 slacker_nl
Sicko pur sang
pi_120237863
quote:
0s.gif Op woensdag 12 december 2012 18:28 schreef relativity het volgende:
Is er hier nog leven? Ik kan wel wat hulp gebruiken hehe.
Stel je vraag
In theory there is no difference between theory and practice. In practice there is.
pi_120238266
Hallo :W.
జ్ఞ‌ా
  woensdag 12 december 2012 @ 20:56:00 #142
65490 whoops
Home is where the heart is...
pi_120243993
    ​                  
In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.
pi_120262677
pi_120277024
Oke bedankt! :-)

Allereerst: Ik ben vrij basaal met het bash programmeren, maar vind het wel degelijk interessant!
Ik ben bezig geweest met een bash scriptje om mijn mp3 collectie wat op te schonen van vervelende tags e.d.

Echter moet ik mijn script meerdere malen uitvoeren om alles toe te passen op de bestanden.

Het script is als volgt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash

IFS=$'\n'           #changing IFS to newline means spaces
                    #are ignored during word-breaking

DIR=${1:-/home/mainstream/Music/rename}
TYPE='.mp3'
shopt -s extglob    #enable extended globbing

for file in $DIR/*$TYPE ; do

     filepath=${file%/*}
     newname=${file##*/}
     mp3=${file##*/}

     #remove junk characters from filename
     newname=${newname//+([,\'])/}

     regex='_\(final\)|\ \(CDQ\)|\ \(NoShout\)|\ \(CDQ \& Final\)|\ \(Dirty\)|\ \(Mastered\)|\ \(full\)'
     newname=${newname//+($regex)/}

     #replace delimiter
     regex='\ \-\ |\_\-\_|\-\-'
     newname=${newname//+($regex)/-}

     regex='_featuring_\|_feat_\|_f._\|_ft_|_feat._'
     newname=${newname//+($regex)/_ft._}

     regex='\(feat._|\(feat_'
     newname=${newname//+($regex)/\(ft._}

     #replace all instances
     newname=${newname//+(_and_)/_&_}

     #change spaces (and tabs) to underscores in filename
     #extglob reduces multiple spaces to single underscore
     newname=${newname//+([[:space:]])/_}

     #lowercase filename
     newname=${newname,,}

     #remove all initial "digit+[-_]" combinations
     #again extglob handles variable numbers of digits
     newname=${newname#+([0-9])[_-]}

     #remove any final group "-zzzz" strings
     #similar to the last operation
     #assumes the file ends in ".mp3", however
     regex='zzzz|mst|alki|you|wus|htf|whoa'
     newname=${newname/-+($regex).mp3/.mp3}

     #remove any "-(nnn_bpm)" strings
     #remember, spaces have been changed to underscores already
     newname=${newname/-(+([0-9])_bpm)}

     if [[ $mp3 != $newname ]]
     then
          echo \.-------------------------------------------------------------\.
          echo "Old: \"$mp3\""
          echo "New: \"$newname\""
          mv $DIR/$mp3 $DIR/$newname
          echo \'-------------------------------------------------------------\'
     fi

done
exit 0

Tweede stap:
Nu ben ik ook bezig om er iets dergelijks in te bouwen zoals dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
DIR=${1:-/home/mainstream/Music/rename}

read -e -p "Enter Year: " -i "2012" YEAR
echo "Select a Genre"
select GENRE in "Classical" "Dubstep" "Hip-Hop" "Skip"; do
    case $GENRE in
        Classical ) echo $GENRE; break;;
        Dubstep ) echo $GENRE; break;;
        Hip-Hop ) echo $GENRE; break;;
        Rap ) echo $GENRE; break;;
        Skip ) exit;;

    esac
done

id3v2 -D $DIR/$DIR &> /dev/null
id3v2 -g $GENRE -y $YEAR $DIR/$DIR &> /dev/nul
En misschien automatisch ook de artist+song tags (ID3V1 & V2) toewijzen.

Hoe krijg ik dit in een script verwerkt? :P

Bij voorbaat dank O-)
Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable.
pi_120279883
quote:
0s.gif Op donderdag 13 december 2012 18:55 schreef relativity het volgende:
Oke bedankt! :-)

Allereerst: Ik ben vrij basaal met het bash programmeren, maar vind het wel degelijk interessant!
Ik ben bezig geweest met een bash scriptje om mijn mp3 collectie wat op te schonen van vervelende tags e.d.

Echter moet ik mijn script meerdere malen uitvoeren om alles toe te passen op de bestanden.

Het script is als volgt:
[ code verwijderd ]

Tweede stap:
Nu ben ik ook bezig om er iets dergelijks in te bouwen zoals dit:
[ code verwijderd ]

En misschien automatisch ook de artist+song tags (ID3V1 & V2) toewijzen.

Hoe krijg ik dit in een script verwerkt? :P

Bij voorbaat dank O-)
Ik zou zelf met find werken, ik neem even aan dat je mp3's in subdirs hebt staan. Als ik dit script loslaat op m'n eigen music dir doet het namelijk helemaal niks.

1for file in $(find $DIR -name \*$TYPE); do

Verder kan je met basename en dirname werken (dat $filepath gedeelte)

Een andere tip is om dat hele rename gebeuren in een functie te frotten,

je kan dan met een subset dingen testen

1
2
3
for file in $(find $DIR -name \*$TYPE | head -10); do
   my_rename_func "$file"
done

Je zou daarna de mp3tags kunnen aanpassen in dezelfde loop, de nieuwe filename return je dan in je my_rename_func

1
2
3
4
5
6
7
8
9
function my_rename_func() {
    # while bunch of code
    echo $new_name
}

for file in $(find $DIR -name \*$TYPE | head -10); do
   new_file=$(my_rename_func "$file")
   tag_the_stuff $new_file
done

En de functie tag the stuff doe je al het spul wat je leuk om te mee te taggen.
In theory there is no difference between theory and practice. In practice there is.
pi_120280778
quote:
Ik zou zelf met find werken, ik neem even aan dat je mp3's in subdirs hebt staan. Als ik dit script loslaat op m'n eigen music dir doet het namelijk helemaal niks.
Nee alles staat gewoon in een dir; lekker makkelijk.

1
2
3
<?php
Verder kan je met basename en dirname werken 
(dat $filepath gedeelte)
?>
Oke :)

quote:
Een andere tip is om dat hele rename gebeuren in een functie te frotten,
Oke, nog nooit gedaan, maar ga ik eens proberen :D

quote:
je kan dan met een subset dingen testen
[ code verwijderd ]
Ga ik proberen :D

quote:
Je zou daarna de mp3tags kunnen aanpassen in dezelfde loop, de nieuwe filename return je dan in je my_rename_func
[ code verwijderd ]
Hier raak je mij een beetje kwijt haha!
Bedoel je tag_the_stuff als functie aanmaken en dan callen in die loop?

quote:
En de functie tag the stuff doe je al het spul wat je leuk om te mee te taggen.
Krijg hoofdpijn van die loops lol.

Maar goed. Bedankt voor de constructieve feedback. Kan ik morgen even verder gaan :D
Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable.
pi_120280864
Het is een beetje lastig op Xubuntu...

In gedit zag je tenminste gekleerde tekst. Nou heb ik lap zwarte tekst.
Enige tips hiervoor? Want dit werkt niet echt fijn.

Zoiets bedoel je? (even snel geknipt/geplakt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/bash
set -vx

IFS=$'\n'           #changing IFS to newline means spaces
                    #are ignored during word-breaking

DIR=${1:-/home/mainstream/Music/rename}
TYPE='.mp3'
shopt -s extglob    #enable extended globbing

function my_rename_func() {

     #break input filename into path and name
     #so that names with paths included are correctly handled
     filepath=${file%/*}
     newname=${file##*/}
     mp3=${file##*/}

     #remove junk characters from filename
     newname=${newname//+([,\'])/}

     regex='_\(final\)|\ \(CDQ\)|\ \(NoShout\)|\ \(CDQ \& Final\)|\ \(Dirty\)|\ \(Mastered\)|\ \(full\)'
     newname=${newname//+($regex)/}

     #replace delimiter
     regex='\ \-\ |\_\-\_|\-\-'
     newname=${newname//+($regex)/-}

     regex='_featuring_\|_feat_\|_f._\|_ft_|_feat._'
     newname=${newname//+($regex)/_ft._}

     regex='\(feat._|\(feat_'
     newname=${newname//+($regex)/\(ft._}

     #replace all instances
     newname=${newname//+(_and_)/_&_}

     #change spaces (and tabs) to underscores in filename
     #extglob reduces multiple spaces to single underscore
     newname=${newname//+([[:space:]])/_}

     #lowercase filename
     newname=${newname,,}

     #remove all initial "digit+[-_]" combinations
     #again extglob handles variable numbers of digits
     newname=${newname#+([0-9])[_-]}

     #remove any final "-zzzz" strings
     #similar to the last operation
     #assumes the file ends in ".mp3", however
     regex='zzzz|mst|alki|you|wus|htf|whoa'
     newname=${newname/-+($regex).mp3/.mp3}

     #remove any "-(nnn_bpm)" strings
     #remember, spaces have been changed to underscores already
     newname=${newname/-(+([0-9])_bpm)}

     #you can continue adding as many changes as you want here.

     #call mv to change the filename.
     #I used -iv to make it interactive and verbose, but that's up to you.
     if [[ $mp3 != $newname ]]
     then
          echo \.-------------------------------------------------------------\.
          echo "Old: \"$mp3\""
          echo "New: \"$newname\""
          #mv $DIR/$mp3 $DIR/$newname
          echo \'-------------------------------------------------------------\'
     fi
}

tag_the_stuff() {

read -e -p "Enter Year: " -i "2012" YEAR
echo "Select a Genre"
select GENRE in "Classical" "Dubstep" "Hip-Hop" "Skip"; do
    case $GENRE in
        Classical ) echo $GENRE; break;;
        Dubstep ) echo $GENRE; break;;
        Hip-Hop ) echo $GENRE; break;;
        Rap ) echo $GENRE; break;;
        Skip ) exit;;

    esac
done

id3v2 -D $DIR &> /dev/null
id3v2 -g $GENRE -y $YEAR $DIR &> /dev/nul
}

for file in $(find $DIR -name \*$TYPE | head -10); do
   new_file=$(my_rename_func "$file")
   tag_the_stuff $new_file
done

exit 0


[ Bericht 47% gewijzigd door relativity op 13-12-2012 20:36:18 ]
Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable.
  donderdag 13 december 2012 @ 20:49:00 #148
29444 RemcoDelft
4 8 15 16 23 42
pi_120282169
quote:
0s.gif Op donderdag 13 december 2012 20:21 schreef relativity het volgende:
Het is een beetje lastig op Xubuntu...

In gedit zag je tenminste gekleerde tekst. Nou heb ik lap zwarte tekst.
Enige tips hiervoor? Want dit werkt niet echt fijn.
vi/vim/elvis o.i.d. gebruiken? 't Is even wennen, maar daarna wil je niets anders meer!
censuur :O
pi_120282281
quote:
0s.gif Op donderdag 13 december 2012 20:49 schreef RemcoDelft het volgende:

[..]

vi/vim/elvis o.i.d. gebruiken? 't Is even wennen, maar daarna wil je niets anders meer!
Dat is allemaal commandline hè? Hoewel ik daar een groot voorstander van ben, vind ik een GUI toch wat fijner werken met het schrijven van scripts :P

Ahh vim is grapical :D

[ Bericht 11% gewijzigd door relativity op 13-12-2012 21:10:20 ]
Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable.
  donderdag 13 december 2012 @ 21:11:37 #150
29444 RemcoDelft
4 8 15 16 23 42
pi_120283218
Wat moet je met een GUI als je een script typt? Vi is ontworpen om snel mee te werken, leer het, en je bent sneller dan steeds je muis te pakken.

Klein voorbeeld, regel kopieren: yyp, dat kost iets van 0.3 seconden.
censuur :O
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')