Forum Programmation.shell ouvrir un fichier avec des programmes en ligne de commande bash

Posté par  .
Étiquettes : aucune
0
16
nov.
2007
je dois procéder à une succession de traitements sur des fichiers videos mpeg: reformattage, demuxage et remuxage .
je peux trouver les lignes de commandes permettant ces traitements à l' aide d' un script bash mais mon probléme est de faire reconnaitre à ce script le fichier en entrée .
exemple j' avais la ligne de commande suivante dans mon menu KDE:
ffmpeg -i %u -f mpeg -acodec copy -vcodec copy $home %u+"corrige"
qui me premet de réaliser ce traitement en cliquant droit sur le fichier et "ouvrir avec ce programme" si je lui demande de s' ouvrir avec la même ligne de commande incluse dans un fichier bash éxécutable, c' est l' échec : %u n' est pas reconnu ....
comment faire s' éxécuter un script bash sur un fichier lambda ?
  • # $1

    Posté par  . Évalué à 4.

    $1 tout simplement
    • [^] # Re: $1

      Posté par  . Évalué à 1.

      ça marche pas ....et je ne m' en réjouis pas ( il est dur ce vendredi soir !)
      • [^] # Re: $1

        Posté par  . Évalué à 2.

        et pourtant... fais l'essai avec un script plus simple (genre echo ou gvim) et tu verras que ca fonctionne... en tout cas, chez moi :)
        • [^] # Re: $1

          Posté par  . Évalué à 1.

          eh oui avec un script plus simple .....mais pas avec celui la .
          Je m' en sors en indiquant un nom standard = film.mpg et en renommant ainsi le fichier en entrée mais je reste sur une interrogation !
          merci quand même .
          • [^] # Re: $1

            Posté par  (site Web personnel) . Évalué à 2.

            utilise "$1" pour que les noms de fichers avec des espaces ne posent pas de soucis.

            et puis si tu veux de l'aide montre nous les lignes qui posant pb. ou le script
            • [^] # Re: $1

              Posté par  . Évalué à 2.

              Bon je suis parvenu à mes fins avec le script suivant :
              cd /home/hippo/Desktop/
              ffmpeg -i film.mpg -f mpeg -acodec copy -vcodec copy filmcorrige.mpg
              cd /usr/local
              cd /usr/local/ProjectX_Source_0.90.4/
              java -jar ProjectX.jar /home/hippo/Desktop/filmcorrige.mpg -demux -name filmcorrige

              cd /home/hippo/Desktop/
              mplex -f 8 -o filmpub.mpg filmcorrige.m2v filmcorrige.mp2

              avidemux --load filmpub.mpg

              qui lance plusieurs applications videos sur un film pour le resynchroniser .
              Donc ça fonctionne dans un certain dossier /home/hippo/Desktop/, si je renomme le fichier en film.mpg seulement ....
              Vous remarquerez que je suis obligé de changer de répertoire (/usr/local) pour lancer une application java .
              • [^] # Re: $1

                Posté par  . Évalué à 3.

                remplace ton script par celui la:

                cd /home/hippo/Desktop/
                ffmpeg -i "$1" -f mpeg -acodec copy -vcodec copy filmcorrige.mpg
                cd /usr/local
                cd /usr/local/ProjectX_Source_0.90.4/
                java -jar ProjectX.jar /home/hippo/Desktop/filmcorrige.mpg -demux -name filmcorrige

                cd /home/hippo/Desktop/
                mplex -f 8 -o filmpub.mpg filmcorrige.m2v filmcorrige.mp2

                avidemux --load filmpub.mpg


                et ensuite utilise la commande "./tonscript.sh tonfilm.mpg"

                La ça DOIT marché!!!!
                • [^] # Re: $1

                  Posté par  . Évalué à 2.

                  est ce qu' il y a possibilité de "conserver" le titre d origine avec des "$1" + "corrige" ou "$1" + "pub" ?
                  • [^] # Re: $1

                    Posté par  . Évalué à 2.

                    C'est tout à fait possible oui. :)

                    Exemple de script :

                    #!/bin/sh
                    echo $1corrige.mpg

                    Son utilisation :

                    ./script.sh film
                    filmcorrige.mpg
                    • [^] # Re: $1

                      Posté par  . Évalué à 2.

                      echo $1 vous dit merci à tous .
                      . .

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.