Vais pouvoir m'amuser un peu avec tt ça !
comment créer un script sh?
Merci beaucoup...
Une réponse, encore une fois sur lea... comment n'y ai-je pas pensé plus tôt.
Merci à vous pour ces 2 liens.
à+
Une réponse, encore une fois sur lea... comment n'y ai-je pas pensé plus tôt.
Merci à vous pour ces 2 liens.
à+
voici un joli petit script pour exemple de ton cas :
#!/bin/sh
echo -n "Quel Chapitre : "
read chapitre
echo -n "Quelle Partie : "
read partie
echo -n "Quel nom : "
read nom
transcode -i /dev/dvd -p /dev/dvd -T $partie,$chapitre -E 44100 -y null,wav -m $nom
merci, j'ai repris ton script et l'ai modifié ça donne ça:
on peut le transcoder en autre chose que du wav, suffit de changer -y null,wav en autre chose (cf man transcode).
voilà!
peut-être faire un petit tuto sur la façon d'extraire une piste son d'une vidéo (DVD, avi, VCD...), ce serait pas mal non?
Euh une question quand même: comment encoder les bandes son directement en ogg, qualité 5? (avec transcode, si possible).
merci
à+
#!/bin/sh
echo -n "Quelle Partie : "
read partie
echo -n "De Chapitre : "
read chapitred
echo -n "à Chapitre : "
read chapitref
echo -n "Quel nom : "
read nom
echo -n "Quel /Répertoire : "
read repertoire
chapitre=$chapitred
while [ $chapitre -le $chapitref ] ; do
transcode -i /dev/dvd -p /dev/dvd -T $partie,$chapitre -E 44100 -y null,wav -m $repertoire/$nom-$partie$chapitre.wav
chapitre=$[$chapitre+1]
done
voilà, ça permet d'extraire la première piste son de la partie $partie à partir du chapitre $chapitred au $chapitref en lui donnant le nom $nom-$partie$chapitre.wav dans le répertoire $repertoire.on peut le transcoder en autre chose que du wav, suffit de changer -y null,wav en autre chose (cf man transcode).
voilà!
peut-être faire un petit tuto sur la façon d'extraire une piste son d'une vidéo (DVD, avi, VCD...), ce serait pas mal non?
Euh une question quand même: comment encoder les bandes son directement en ogg, qualité 5? (avec transcode, si possible).
merci
à+
une amélioration de plus:
l'encodage en ogg mais sans transcode, avec oggenc.
ça permet de choisir de conserver ou non les wav de l'extraction.
(si quelqu'un sait comment faire directement DVD->ogg q5 avec transcode, qu'il se lève et le dise!).
voici ce que ça donne:
#!/bin/sh
echo -n "Quelle Partie : "
read partie
echo -n "De Chapitre : "
read chapitred
echo -n "à Chapitre : "
read chapitref
echo -n "Quel nom : "
read nom
echo -n "Quel /Répertoire : "
read repertoire
echo -n "Enlever les fichiers WAV ? (y/n) "
read effacerwav
chapitre=$chapitred
while [ $chapitre -le $chapitref ] ; do
transcode -i /dev/dvd -p /dev/dvd -T $partie,$chapitre -E 44100 -y null,wav -m $repertoire/$nom-$partie$chapitre.wav
oggenc -o $repertoire/$nom-$partie$chapitre.ogg -q 5 $repertoire/$nom-$partie$chapitre.wav
if [ "$effacerwav" = "y" ]
then
rm $repertoire/$nom-$partie$chapitre.wav
else
echo fichier $repertoire/$nom-$partie$chapitre.wav conservé
fi
chapitre=$[$chapitre+1]
done
voilà!!
à+
l'encodage en ogg mais sans transcode, avec oggenc.
ça permet de choisir de conserver ou non les wav de l'extraction.
(si quelqu'un sait comment faire directement DVD->ogg q5 avec transcode, qu'il se lève et le dise!).
voici ce que ça donne:
#!/bin/sh
echo -n "Quelle Partie : "
read partie
echo -n "De Chapitre : "
read chapitred
echo -n "à Chapitre : "
read chapitref
echo -n "Quel nom : "
read nom
echo -n "Quel /Répertoire : "
read repertoire
echo -n "Enlever les fichiers WAV ? (y/n) "
read effacerwav
chapitre=$chapitred
while [ $chapitre -le $chapitref ] ; do
transcode -i /dev/dvd -p /dev/dvd -T $partie,$chapitre -E 44100 -y null,wav -m $repertoire/$nom-$partie$chapitre.wav
oggenc -o $repertoire/$nom-$partie$chapitre.ogg -q 5 $repertoire/$nom-$partie$chapitre.wav
if [ "$effacerwav" = "y" ]
then
rm $repertoire/$nom-$partie$chapitre.wav
else
echo fichier $repertoire/$nom-$partie$chapitre.wav conservé
fi
chapitre=$[$chapitre+1]
done
voilà!!
à+
Je change de sujet... enfin... de script!
Je voudrai savoir comment renommer des fichiers par un script bash car la commande mv ne fonctionne pas dans mon cas.
voici mon script:
Comment renommer simplement un bout du nom de fichier?
merci
à+
Je voudrai savoir comment renommer des fichiers par un script bash car la commande mv ne fonctionne pas dans mon cas.
voici mon script:
#!/bin/sh
# I prend chacune des valeurs possibles correspondant
# au motif : *.wav
echo -n "Qualité du Ogg ? (-1 -> 10) "
read qualite
for I in *.wav ; do
# tous les fichiers $I sont convertis en $I.ogg $qualite
echo "$I -> $I.ogg q=$qualite"
#encodage en ogg: fichier.wav -> fichier.
oggenc -o $I.ogg -q $qualite $I
done
echo "Renommage..."
mv *.wav.ogg *.ogg
Mon problème est que les fichiers ogg générés ont une extension .wav.ogg au lieu de .ogg tout court.Comment renommer simplement un bout du nom de fichier?
merci
à+
Bonjour,
Dans ta boucle, remplace :
oggenc -o $I.ogg -q $qualite $I
par :
oggenc -o ${I%%.wav}.ogg -q $qualite $I
Ca permet d'enlever le suffix .wav a la fin du nom de fichier. Tu peux ainsi te passer du renommage.
Dans ta boucle, remplace :
oggenc -o $I.ogg -q $qualite $I
par :
oggenc -o ${I%%.wav}.ogg -q $qualite $I
Ca permet d'enlever le suffix .wav a la fin du nom de fichier. Tu peux ainsi te passer du renommage.
12 jours plus tard
Je change de nouveau de sujet... enfin de sript:
je voudrai savoir comment on fait pour parcourir tous les sous-répertoires du répertoire courant en n'oubliant pas les répertoires et fichiers avec des noms comportant des espaces par ex.:
/home/denis/mon répertoire à moi/mes fichiers.ext
voici mon ébauche:
Ce script NE permet PAS d'avoir accès aux répertoires comportant des espaces, il me trouve plusieurs répertoires:
/home/denis/mon/
/home/denis/répertoire/
/home/denis/à/
/home/moi/
au lieu de:
/home/denis/mon répertoire à moi/
comment faire?
Et si vous avez une solution pour changer le propiétaire de tous les fichiers et sous-répertoires du répertoire courant, c'est ce que je veux faire avec ce script (répertoires et fichiers créés par l'utilisateur Samba "Nobody" dans un répertoire partagé).
Merci
à+
je voudrai savoir comment on fait pour parcourir tous les sous-répertoires du répertoire courant en n'oubliant pas les répertoires et fichiers avec des noms comportant des espaces par ex.:
/home/denis/mon répertoire à moi/mes fichiers.ext
voici mon ébauche:
#!/bin/sh
for REP in `find -type d` ; do
#boucle des répertoires
for FICH in $REP/* ; do
#boucle des fichiers et les liste à l'écran
echo "$FICH"
done
done
ce script permet de parcourir TOUS les fichiers du répertoire $REP (même ceux contenant des espaces).Ce script NE permet PAS d'avoir accès aux répertoires comportant des espaces, il me trouve plusieurs répertoires:
/home/denis/mon/
/home/denis/répertoire/
/home/denis/à/
/home/moi/
au lieu de:
/home/denis/mon répertoire à moi/
comment faire?
Et si vous avez une solution pour changer le propiétaire de tous les fichiers et sous-répertoires du répertoire courant, c'est ce que je veux faire avec ce script (répertoires et fichiers créés par l'utilisateur Samba "Nobody" dans un répertoire partagé).
Merci
à+
Ben, tu as pense a utiliser
chown -R nouveau_proprietaire nom_du_repertoire ?
(pour le changement de proprietaire)
chown -R nouveau_proprietaire nom_du_repertoire ?
(pour le changement de proprietaire)
Une piste : find possède une option "-exec" qui permet d'enchainer un autre commande pour chaque objet trouvé.
Evites l'utilisation du for qui, en plus du problèmes des espaces, sera limité par la taille limite de la ligne de commande.
Ton script pour s'écrire plus simplement comme
Evites l'utilisation du for qui, en plus du problèmes des espaces, sera limité par la taille limite de la ligne de commande.
Ton script pour s'écrire plus simplement comme
find . -type f -exec echo "{}" ;
A+On dirai que j'ai été devancé...
Bon, pour plus d'infos:
man find
man chown
Bon, pour plus d'infos:
man find
man chown
J'avais pas lu l'énoncé juste bout... (je sais, c'est pas bien).Et si vous avez une solution pour changer le propiétaire de tous les fichiers et sous-répertoires du répertoire courant, c'est ce que je veux faire avec ce script (répertoires et fichiers créés par l'utilisateur Samba "Nobody" dans un répertoire partagé).
1/ Effectivement chown -R c'est pas mal.
2/ Pour donner à toto juste ce qui appartient à nobody :
find . -user nobody -exec chown toto "{}" ;
3/ Ou encore : modifie la configuration de samba pour qu'il utilise directement le bon compte 😉A++
J'ai u probleme avec les alias. Ceux que je crée disparaissent d'une session a l'autre? Où se trouve le fichier avec les alias?
merci beaucoup!!
la commande
find . -user nobody -exec chown denis:denis "{}" ;
fonctionne à merveille!! Plus besoin de script!
merci encore
à+
la commande
find . -user nobody -exec chown denis:denis "{}" ;
fonctionne à merveille!! Plus besoin de script!
merci encore
à+
Pour un nouveau problème, c'est mieux de créer un nouveau sujet de discussion...melianos a écrit:
J'ai u probleme avec les alias. Ceux que je crée disparaissent d'une session a l'autre? Où se trouve le fichier avec les alias?
Le mieux est de déclarer tes alias dans le fichier ~/.bashrc.
A++
Vu que c'etait toujours du shell, j'ai pensé que c'etait pas la peine de creer un nouveau sujet.
Merci pour l'info
Merci pour l'info