Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/03/2007, à 09:27

chiron

[Résolu] compresser des fichiers individuellement dans un dossier?

Bonjour

Voilà, je m'adresse aux gourous de la ligne de commande.
Dans un répertoire j'ai X fichiers d'environ 350Mo, le but du jeu est de compresser chaque fichier individuellement en tronçons de 15Mo

La syntaxe pour chaque fichier, individuellement est la suivante:

rar a monarchive -v15000k monfichier

monarchive doit avoir le même nom que monfichier.

comment faire pour que ce soit fait par lots?

Merci beaucoup. smile

Dernière modification par chiron (Le 07/03/2007, à 07:51)


In hoc signo vinces.

Hors ligne

#2 Le 06/03/2007, à 10:29

Janski

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Hello,
Si tes fichiers ont quelque chose en commun (extension, nom, date de création...) tu peux essayer avec find:

find  /chemin/ -name *.c -exec rar a monarchive -v15000k {} \;

Ou quelque chose comme ça...

Dernière modification par Janski (Le 06/03/2007, à 10:33)

Hors ligne

#3 Le 06/03/2007, à 15:20

chiron

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Merci beaucoup.

J'ai un peu de mal avec les alias sous linux, et je n'ai pas besoin de trouver les fichiers, je sais exactement où ils sont.
- le chemin des fichiers est /media/sda3/videos/famille/
- les fichiers ont tous l'extension avi


In hoc signo vinces.

Hors ligne

#4 Le 06/03/2007, à 19:19

Janski

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Re!
Voila j'ai fait un petit test et ceci devrait marcher pour ton problème :

find /media/sda3/videos/famille/ -name *.avi -exec rar a  {}.rar -v15000k {} \;

a+

Hors ligne

#5 Le 06/03/2007, à 21:55

chiron

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Merci beaucoup. J'ai rajouté le switch -m0, inutile de bouffer du CPU à compresser un format déjà compressé. ;-)

Ca nous donne

find /media/sda3/videos/famille/ -name *.avi -exec rar a  {}.rar -m0 -v15000k {} \;

Le problème est que ça exécute bien la commande pour le premier fichier avi, mais ne passe pas au suivant.


In hoc signo vinces.

Hors ligne

#6 Le 06/03/2007, à 22:06

Epehj

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

for i in $(ls /media/sda3/videos/famille);do rar a $i -v15000k $i;done

ou un truc du genre ca peut pas marcher?
Je débute, patapépatapé.


Linux user #447629 - Ubuntu user # 21770
C'est en sciant que Léonard devint scie

Hors ligne

#7 Le 07/03/2007, à 01:05

chiron

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Ca ne fonctionne pas, la commande ne prend qu'une partie du nom de fichier, et rar ne trouve pas le fichier, forcément... roll


In hoc signo vinces.

Hors ligne

#8 Le 07/03/2007, à 01:08

Spalax

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

ls -1 *.avi | while read fichier 
do
   rar a "$fichier.rar" -v15000k "$fichier"
done

Hors ligne

#9 Le 07/03/2007, à 02:06

chiron

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Ca ne donne rien en ligne de commande. C'est un script?


In hoc signo vinces.

Hors ligne

#10 Le 07/03/2007, à 05:23

Link31

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

chiron a écrit :

Ca ne donne rien en ligne de commande. C'est un script?

C'est un script, mais tu peux le copier-coller directement dans un terminal (en confirmant la dernière ligne avec entrée).

Sinon, copie ceci dans un fichier appelé compression.sh :

#!/bin/bash
ls -1 *.avi | while read fichier 
do
   rar a "$fichier.rar" -v15000k "$fichier"
done

Rends-le exécutable en allant voir ses propriétés depuis Nautilus. Tu peux maintenant le lancer en double-cliquant dessus.

Comme je ne sais pas si Nautilus utilise le bon dossier courant quand il lance un script, il est peut-être préférable de le faire depuis le terminal. Va dans le bon dossier avec la commande cd /home/utilisateur/dossier et lance ce script (présent dans le dossier, ainsi que les fichiers à compresser) avec ./compression.sh

Hors ligne

#11 Le 07/03/2007, à 07:49

chiron

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

Super! Un grand merci à tous. smile


In hoc signo vinces.

Hors ligne

#12 Le 02/07/2007, à 09:57

chiron

Re : [Résolu] compresser des fichiers individuellement dans un dossier?

J'ai trouvé une autre méthode moins contraignante que le script smile

cd ~/videos
ls *.avi | xargs -i rar a ~/videos/{}.rar -m0 -v15000k {}


In hoc signo vinces.

Hors ligne