Synology-Forum.nl

Packages => Officiële Packages => Audio Station => Topic gestart door: Tien op 12 april 2013, 11:45:29

Titel: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 12 april 2013, 11:45:29
Ik heb het aardig doorgelezen: http://www.synology-forum.nl/audio-station/leestekens-in-map-music-in-een-keer-renamen-dmv-script/msg67375/#msg67375 (http://www.synology-forum.nl/audio-station/leestekens-in-map-music-in-een-keer-renamen-dmv-script/msg67375/#msg67375)


maar kom er toch niet helemaal uit.


Kan iemand mij stap-voor-stap uitleggen hoe ik op mijn /music map een script kan loslaten dat de vreemde tekens verwijdert zodat ik ze weer kan backuppen en kopiëren? Ik ben wat voorzichtig omdat het dus om de /music map gaat waarvan ik geen backup heb / kan hebben. Ik zou echt heel erg geholpen zijn met een stap-voor-stap iets.

Ik heb inmiddels sabnzbd 0.7.11 draaiend en voor de nieuwe te downloaden bestanden gaat het goed.

Bedankt.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: klen op 12 april 2013, 14:53:49
Het volgende script doet dit voor je.
Bewaar het script in een folder op de NAS, bijvoorbeeld je home directory.
Noem het 'strict-ascii' bijvoorbeeld.
Dan zet je de mode naar 755:

chmod 755 ./strict-ascii
Je draait het script met als argument een folder, bijvoorbeeld:
./strict-ascii /volume1/musicof
./strict-ascii /volume1/music/Artiest/Albumof zo

Het script zal dan een overzicht geven van de folders en files die zouden moeten worden hernoemd.
Standaard doet het script niets, alleen als je de -f optie meegeeft zal het folders en files hernoemen.
Let op: je moet wel /opt/bin/bash hebben geinstalleerd via ipkg.
Ik denk ook dat je dit kan draaien als de share is gemount op je lokale pc/linux/mac, maar het hangt af van de rechten.

Ik heb het script getest, maar het hangt helemaal af van je eigen layout of het goed werkt.
Het kan ook zijn dat je het script twee of drie keer moet draaien omdat je veel foldernamen hebt met rare karakters.
Let er ook op dat de rare karakters worden weggegooid, en niet vervangen door 'iets dat erop lijkt'

#!/opt/bin/bash


if [ "$1"X = "-fX" ] ; then
    CMD="mv"
    echo This program will actually rename directories and/or files
    echo Please re-index afterwards
    shift
else
    CMD="echo"
fi

if [ "$1"X = "X" ] ; then
    echo $0: folder
    exit
else
    if [ -d "$1" ] ; then
        dir=$1
    else
        echo $1 does not exist
        exit
    fi
fi

#first we need to find directories
echo starting from $dir looking for directories

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

for folder in `find "$dir" -type d` ; do
    folder_non_ascii=${folder//[^[:ascii:]]/}
    if [ "${folder}" != "${folder_non_ascii}" ] ; then
        [ -d "${folder}" ] && $CMD "${folder}" "${folder_non_ascii}"
    fi
done

#then we need to find files
echo starting from $dir looking for files

for file in `find "$dir" -depth -type f` ; do
    file_non_ascii=${file//[^[:ascii:]]/}
    if [ "${file}" != "${file_non_ascii}" ] ; then
        $CMD "${file}" "${file_non_ascii}"
    fi
done
IFS=$SAVEIFS

Omdat het script bestandsnamen wijzigt, moet je database weer opnieuw gevuld worden. Dat doe je door een re-index te doen vanuit de DSM console.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 12 april 2013, 16:20:23
ahum... hoe plak ik?
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: klen op 12 april 2013, 17:02:18

Citaat
ahum... hoe plak ik?
Tsja, Unix leren denk ik.
Als je niet weet hoe je de tekst van het programma dat ik heb geschreven op je NAS krijgt, gaat het niet lukken.
Ik ga je daar niet mee helpen, want ik denk dat de kans op fouten dan veel te groot is en dat is het niet waard.

Je moet je maar inlezen in inloggen, commando's, vi en bash, denk ik.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Matr1x op 12 april 2013, 17:22:15
Je kunt ook de Config File Editor (CFE) gebruiken. Dat is een pakket waarmee je eenvoudig configuratie bestanden en natuurlijk ook script bestanden kunt aanpassen.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 12 april 2013, 20:00:13

Citaat
ahum... hoe plak ik?
Tsja, Unix leren denk ik.
Als je niet weet hoe je de tekst van het programma dat ik heb geschreven op je NAS krijgt, gaat het niet lukken.
Ik ga je daar niet mee helpen, want ik denk dat de kans op fouten dan veel te groot is en dat is het niet waard.

Je moet je maar inlezen in inloggen, commando's, vi en bash, denk ik.


Ben een aardig end met Linux op de PC en ook deze bron (http://nl.wikibooks.org/wiki/Linux_voor_beginners/De_terminal (http://nl.wikibooks.org/wiki/Linux_voor_beginners/De_terminal))  heb ik doorgenomen. Weet alleen ff niet hoe ik een tekst moet plakken op de prompt maar de editor will do. Moet ergens beginnen, maar evengoed bedankt.
Titel: Re: Leestekens in map music in een keer renamen dmv script??
Bericht door: janbal op 12 april 2013, 20:34:11
Zojuist mijn music map (700 Gieg) met het scriptje Chartranslator.py in no time gecheckt. Geweldig! <!-- s:D --> :D <!-- s:D -->
Dankzij tip van Matr1x.

Zo leren we allemaal weer van elkaar.

Voorbeeld:

Via Putty of Telnet:

/usr/local/sabnzbd/var/scripts/CharTranslator.py /volume1/music

Aanvulling: dit werkt alleen als je SABnzbd geïnstalleerd hebt via SynoCommunity.


Zo makkelijk is het, niks moeilijk gedoe met unix.
Titel: Re: Leestekens in map music in een keer renamen dmv script??
Bericht door: Matr1x op 12 april 2013, 20:59:03
Voorbeeld:

Via Putty of Telnet:

/usr/local/sabnzbd/var/scripts/CharTranslator.py /volume1/music

Aanvulling: dit werkt alleen als je SABnzbd geïnstalleerd hebt via SynoCommunity.

In DSM 4.2 kun je het ook zonder putty of telnet doen, door eenmalig een taak hiervoor te plannen en uit te voeren.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 14 april 2013, 22:28:49
deze heb ik nu als (admin) taak toegevoegd en gestart:


/usr/local/sabnzbd/var/scripts/CharTranslator.py /volume1/music


Hoe kan ik zien dat hij (op dit moment) 'aan het runnen' is en pakt hij alle submappen mee?
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: janbal op 14 april 2013, 22:32:04



Draait maar een paar minuten en dan zie je het resultaat.
Neemt subdirs mee.
Tussentijdse controle bij mijn weten niet mogelijk


Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 09:35:17
kan het zijn dat hij die ruitjes met vraagtekens erin met rust laat?


Ik heb het script gedraaid via telnet maar hij laat de ruitjes met vraagtekens erin met rust. Kan ik dat oplossen met dit script of moet ik toch naar de eerder genoemde oplossing gaan werken? In onderstaand voorbeeld staat in de betreffende map een bestand of 10 met zo'n ruitje maar daar lijkt hij niets mee te doen...


==========
     ./UITZOEKEN/HQ/Erik Satie - Avant derni_#232_res pens_#233_es 2009/@eaDir/cover Satie.png -> No special characters detected: Nothing to be done[/font]
./UITZOEKEN/HQ/Erik Satie - Avant derni_#232_res pens_#233_es 2009/solo -> No special characters detected: Nothing to be done[/font]
./UITZOEKEN/HQ/Erik Satie - Avant derni_#232_res pens_#233_es 2009/@eaDir -> No special characters detected: Nothing to be done[/font]
./UITZOEKEN/HQ/Erik Satie - Avant derni_#232_res pens_#233_es 2009/duos -> No special characters detected: Nothing to be done[/font]
 
==========
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: janbal op 15 april 2013, 12:12:15
welke versie van de CharTranslator draait bij jou?
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 13:35:03
die met Sabnzbd 0.7.11 / Python 7.1.3 meekwam - hoe kan ik zien welke versie het is? Hij doet het overigens wel goed als ik diezelfde CD download, dan pakt hij hem netjes uit en verwijdert de vreemde tekens. Alleen die ruitjes van eerdere bestanden kan hij niet handelen.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: janbal op 15 april 2013, 14:41:02
Met de Config File Editor kun je dit nakijken in het script zelf.
Het is niet (automatisch?)  zo, dat het script wordt geüpdate bij update van SAB/Python.
Als echter het converteren bij nieuwe downloads goed gaat, zou dat ook met de bestaande moeten lukken.


Probeer anders ook even of je die betreffende bestanden nu wel kunt renamen middels FileStation.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 15:26:27
oké dank je.


Renamen gaat niet (de bekende map of bestand bestaat niet error).


Ik heb inmiddels gevonden dat de config file manager een programma is dat geïnstalleerd moet worden op de Synology. Dat is via een spk gelukt.


Nu kom ik er alleen niet achter waar ik moet kijken. In het pulldown staat niet zoiets als chartranslator (terwijl die er wel moet zijn want via de prompt heb ik die werkend gekregen). - zie screendump


Wat zie ik over het hoofd? Of ben ik te voorzichtig en moet ik gewoon die [/usr/local/sabnzbd/var/scripts/CharTranslator.py] als regel toevoegen in het getoonde attachment?
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: janbal op 15 april 2013, 16:16:56
Yep
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 16:34:49
oké thanks: ik vrees (of niet) "But converted characters will not be good, ex: �? instead �"


Ik heb het CharTranslator.py bestand in de bijlage gedaan als tekstbestand, wil je eens kijken?

Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: janbal op 15 april 2013, 17:21:59
Inderdaad nog versie 1.3.


Via de volgende link kun je middels copy en paste versie 1.8 erin zetten. Denk eraan precies alles mee te nemen. Als je niet de optie krijgt om te saven, even een spatie erachter zetten en vervolgens weer weg halen. http://forums.sabnzbd.org/viewtopic.php?f=9&t=10595&sid=f64050ef576bce550546a5a27617d131&start=60#p79752 (http://forums.sabnzbd.org/viewtopic.php?f=9&t=10595&sid=f64050ef576bce550546a5a27617d131&start=60#p79752)
Heb je dat in ieder geval up to date.  :)


Dan nog weet ik niet zeker of jouw probleem ook helemaal verholpen is. Het is bij mij al een poosje geleden dat ik dit gebruikt heb en bij mijn weten had ik deze problemen niet.


Weet je zeker dat je naar het juiste pad (van de bestanden) verwijst in de opdracht? ???


BTW: Zoals ik al eerder schreef: ik heb bij de SynoCommunity een request ingediend om dit als een aparte applicatie in DSM beschikbaar te maken en men heeft daar welwillend op gereageerd. Of en wanneer dit ook echt gebeurt weet ik niet. ???
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 19:12:48
Dank je, het is gelukt (vooral die spatie deed het 'm). Helaas loopt dit script op dezelfde error uit als de vorige (zie bijlage- screendump van telnetsessie): heeft dit te maken met het issue dat jij bij Synology hebt ingebracht?
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 20:23:54
mag ik van iemand nog de tip hoe ik op de synology ipkg /opt/bin/bash installeren moet?


Kan ik in ieder geval zeggen dat ik alles geprobeerd heb....
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Matr1x op 15 april 2013, 20:45:53
Dank je, het is gelukt (vooral die spatie deed het 'm). Helaas loopt dit script op dezelfde error uit als de vorige (zie bijlage- screendump van telnetsessie): heeft dit te maken met het issue dat jij bij Synology hebt ingebracht?

Hoe log je aan in de telnet sessie? Als root? Ik kan me niet voorstellen dat je dan nog de melding permission denied krijgt.

mag ik van iemand nog de tip hoe ik op de synology ipkg /opt/bin/bash installeren moet?


Kan ik in ieder geval zeggen dat ik alles geprobeerd heb....

Waarom wil je dat installeren. Je hebt IPKG (install package) alleen nodig als je zelf pakketten gaat installeren en updaten. En waarom wil je bash shell installeren?
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Tien op 15 april 2013, 21:05:10

JAAAA! Dat was het Neo.

even stap-voor-stap wat dus nu werkt:
Ik had dus niet [root] maar [admin] ingegeven vorige keren bij login en daar ging het fout....pfff...


De ruitjes zijn weg en ik heb heel wat geleerd!!!


Dank jullie allemaal wel! Ik ben er echt heel blij mee; vanavond hopelijk eindelijke een foutloze backup draaien.


ps: Matr1x de vraag van mij over de [ipkg /opt/bin/bash] kwam omdat in een van de eerder antwoorden een scripts stond dat ik wilde runnen maar niet werkte en ik er vanuitging dat het kwam door het ontbreken van ipkg /opt/bin/bash -> deze post was het: http://www.synology-forum.nl/audio-station/achteraf-vreemde-tekens-verwijderen/msg72353/#msg72353 (http://www.synology-forum.nl/audio-station/achteraf-vreemde-tekens-verwijderen/msg72353/#msg72353)
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: Matr1x op 15 april 2013, 23:15:35
ps: Matr1x de vraag van mij over de [ipkg /opt/bin/bash] kwam omdat in een van de eerder antwoorden een scripts stond dat ik wilde runnen maar niet werkte en ik er vanuitging dat het kwam door het ontbreken van ipkg /opt/bin/bash -> deze post was het: http://www.synology-forum.nl/audio-station/achteraf-vreemde-tekens-verwijderen/msg72353/#msg72353 (http://www.synology-forum.nl/audio-station/achteraf-vreemde-tekens-verwijderen/msg72353/#msg72353)

Als je hier op doelt:

#!/opt/bin/bash
Dan is dit alleen maar een manier om aan te geven welke functie het script gebruikt. Hij voert dit commando niet uit, maar include de functie zodat code uit deze functie beschikbaar is in het script.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: klen op 16 april 2013, 10:24:17
Citaat
Dan is dit alleen maar een manier om aan te geven welke functie het script gebruikt. Hij voert dit commando niet uit, maar include de functie zodat code uit deze functie beschikbaar is in het script.
Dat is niet waar.
Het script dat ik schreef en beschikbaar stelde gebruikt specifiek een functie van bash om non-ascii karakters te verwijderen.

Door #!/opt/bin/bash in je eerste regel te zetten, dwing je de shell om het script via die shell uit te voeren.

Het script werkt niet met default /bin/sh of /bin/ash

Veel scripts hebben die #! directive, onder meer de php scripts waar het hier ook over gaat
#!/bin/php
#!/usr/bin/perl

etc. etc. zorgen er allemaal voor dat de shell dat programma roept om de rest van de file te executeren.
Titel: Re: achteraf vreemde tekens verwijderen bestanden in/en submappen
Bericht door: janbal op 02 juni 2013, 16:55:00

BTW: Zoals ik al eerder schreef: ik heb bij de SynoCommunity een request ingediend om dit als een aparte applicatie in DSM beschikbaar te maken en men heeft daar welwillend op gereageerd. Of en wanneer dit ook echt gebeurt weet ik niet. ???


Inmiddels bericht gehad van de Synocommunity dat ze dit wel een goed idee vonden maar dat ze het door tijdgebrek niet kunnen uitvoeren.
Jammer maar niet onoverkomelijk.