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 26/02/2011, à 22:29

kde4 fan

[Résolu] aide commande ls

salut
comment récupérée les non de fichier afficher par la commande ls
puis les séparer un par un
puis renvoyer dans une variable qui doit incrémenter les non de fichier l'un après l'autre

explication :
au lieu d'avoir tous les non de fichier les un a la suite exemple :(fichier1 fichier2 ...) dans la variable1
serait il possible
d'avoir tous les non de fichier séparer des autre exemple :(fichier1) dans la variable1 (fichier2) dans la variable1

Dernière modification par kde4 fan (Le 27/02/2011, à 14:12)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#2 Le 26/02/2011, à 22:58

FRUiT

Re : [Résolu] aide commande ls

Si tu es en bash, fais un tableau :

file=( * )

Après tu as :
${file[0]} qui vaut fichier1
${file[1]} qui vaut fichier2
etc...

Dernière modification par FRUiT (Le 27/02/2011, à 01:45)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#3 Le 27/02/2011, à 00:00

kde4 fan

Re : [Résolu] aide commande ls

je teste ceci pour différencier les non de fichier

    ls > videos_liste.txt
    TRIE=tail -1 videos_liste.txt
    TRIE1=tail -2 videos_liste.txt
    TRIE2=tail -3 videos_liste.txt
    TRIE3=tail -4 videos_liste.txt
    TRIE4=tail -5 videos_liste.txt

mais je n'arrive pas a récupérer les non en sortie
je voie tail -1 en sortie

tail -1 tail -2 n'est pas approprier car il ajoute au 1er nom un 2em nom

Dernière modification par kde4 fan (Le 27/02/2011, à 13:07)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#4 Le 27/02/2011, à 01:47

FRUiT

Re : [Résolu] aide commande ls

> ls
ab  ac  bd
> TRIE=( * )
> echo "${TRIE[0]}"
ab
> echo "${TRIE[@]}"
ab ac bd

Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#5 Le 27/02/2011, à 12:40

kde4 fan

Re : [Résolu] aide commande ls

FRUiT
en faite je lit la structure d'un répertoire ( commande ls)
puis j'envoie dans un fichier txt ( commande  > videos_liste.txt)
puis je lit le fichier txt qui contient ceci:

Alien-Energy.avi
A-long-Way.avi
Another-Dimension.avi
Atlantis-Dragon.avi
Autumn-Dream.avi
Butterfly.avi
Caustic-Cube.avi
Caverays.avi
Cave-View.avi
Cypersphere.avi
Dark-Angel.avi

puis je voudrais récupérer chaque nom de fichier séparer pour les envoyer dans une variable qui se nome (TRIE) résulta voulu (TRIE="Alien-Energy.avi")
pareille pour tous les autre nom  (TRIE1="A-long-Way.avi") exceptera.....
en incrément de 1 pour la variable (TRIE) (TRIE1)  (TRIE2) exceptera.....

avec ceci

ls > videos_liste.txt

puis

while read line; do echo "${line}"; done < videos_liste.txt

je me retrouve avec tous les non a la suite donc pas bon

Dernière modification par kde4 fan (Le 27/02/2011, à 13:03)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#6 Le 27/02/2011, à 13:25

FRUiT

Re : [Résolu] aide commande ls

Mais tu as essayé ?

y'a même pas besoin de fichier temporaire, et encore moins de ls...

TRIE=( * )

Ou

TRIE=( *.avi )

Cela crée un tableau avec un fichier par élément de tableau.

exemple :

#!/bin/bash

TRIE=( * )

for element in "${TRIE[@]}"; do  # affiche tous les éléments un par un
  echo "element $element"
done

echo ; echo
echo "${TRIE[0]}"    # affiche Alien-Energy.avi
echo "${TRIE[1]}"    # affiche A-long-Way.avi

Pourquoi vouloir à tout prix passer par un fichier annexe ? Y'a une raison ?

Tu peux même avoir le chemin complet dans les noms des fichiers.

Exemple si tu mets le script dans le répertoire des flims :

TRIE=( ~+/* )

Ou si les flims sont ailleurs :

TRIE=( /chemin/vers/des/videos/* )

Ou,

TRIE=( /chemin/vers/des/videos/*.avi )

Dernière modification par FRUiT (Le 27/02/2011, à 13:33)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#7 Le 27/02/2011, à 13:37

kde4 fan

Re : [Résolu] aide commande ls

tu a raison c'est moi qui a du mal a comprendre donc j'aie réussi avec tes commande suivante

function fonc_videosliste()
{
    CHEMIN=""${HOME}"/.Dreamnux/videos/"
    "${CHEMIN}"
    ls
    TRIE=( * )
    "${TRIE[0]}"
    "${TRIE[1]}"
    "${TRIE[2]}"
    "${TRIE[3]}"
    "${TRIE[4]}"
    "${TRIE[5]}"
    "${TRIE[6]}"
    "${TRIE[7]}"
    "${TRIE[8]}"
    "${TRIE[9]}"
    "${TRIE[10]}"
    "${TRIE[11]}"
    "${TRIE[12]}"
    "${TRIE[13]}"
    "${TRIE[14]}"
    "${TRIE[15]}"
    "${TRIE[16]}"
    "${TRIE[17]}"
    "${TRIE[18]}"
    "${TRIE[19]}"
    "${TRIE[20]}"
    "${TRIE[21]}"

    TOUTEVIDEO="{ "${CHEMIN}""${TRIE[0]}" "${CHEMIN}""${TRIE[1]}""" "${CHEMIN}""${TRIE[2]}" "${CHEMIN}""${TRIE[3]}" "${CHEMIN}""${TRIE[4]}" "${CHEMIN}""${TRIE[5]}" "${CHEMIN}""${TRIE[6]}" "${CHEMIN}""${TRIE[7]}" "${CHEMIN}""${TRIE[8]}" "${CHEMIN}""${TRIE[9]}" "${CHEMIN}""${TRIE[10]}" "${CHEMIN}""${TRIE[11]}" "${CHEMIN}""${TRIE[12]}" "${CHEMIN}""${TRIE[13]}" "${CHEMIN}""${TRIE[14]}" "${CHEMIN}""${TRIE[15]}" "${CHEMIN}""${TRIE[16]}" "${CHEMIN}""${TRIE[17]}" "${CHEMIN}""${TRIE[18]}" "${CHEMIN}""${TRIE[19]}" "${CHEMIN}""${TRIE[20]}" "${CHEMIN}""${TRIE[21]}" }"

echo "${TOUTEVIDEO}"
}

mais je me retrouve en sortie avec ceci

.Dreamnux/videos/Cypersphere.avi 

ca ces ok puis a la suite

Alien-Energy.avi A-long-Way.avi Another-Dimension.avi Atlantis-Dragon.avi Autumn-Dream.avi Butterfly.avi Caustic-Cube.avi Caverays.avi Cave-View.avi Cypersphere.avi Dark-Angel.avi Deadlord.avi Digitalized.avi Digital-Rain.avi Downfall.avi Dying-Planet.avi Earth-Man.avi Fantasy-View.avi Far-Sight.avi Firebloom.avi Flowring.avi Forrest-Falls.avi Frozen-Orb.avi Green-Galaxy.avi Green-Lake.avi Haunted-Mansion.avi Kaminfeuer.avi Lake-Mountain.avi Leaf-Drop.avi Mystic-Sword.avi Mystic-Tree.avi Open-Fire.avi Planet-Earth.avi Plasmaball.avi Powercell.avi Radiance.avi Red-Matrix.avi Ruins.avi Secluded-Blue.avi Shadowface.avi Sphere-Tree.avi Summer-Leaves.avi Sunnyfalls.avi Sureal.avi The-Core.avi The-Deal.avi Twilight-Sky.avi

ca doit être non visible donc pas bon comment éviter de les écrire a cette endroit de mon code ?

puis le reste des variable ce remplisse bien avec le bon nom doc ok

Dernière modification par kde4 fan (Le 27/02/2011, à 13:48)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#8 Le 27/02/2011, à 13:39

FRUiT

Re : [Résolu] aide commande ls

Ou en sh, sans tableau :

#!/bin/sh

for element in /dossier/de/videos/*; do
  echo "element $element"
  # autres commandes géantes à effectuer sur chaque fichier
done

Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#9 Le 27/02/2011, à 13:51

kde4 fan

Re : [Résolu] aide commande ls

puis a la suite

Alien-Energy.avi A-long-Way.avi Another-Dimension.avi Atlantis-Dragon.avi Autumn-Dream.avi Butterfly.avi Caustic-Cube.avi Caverays.avi Cave-View.avi Cypersphere.avi Dark-Angel.avi Deadlord.avi Digitalized.avi Digital-Rain.avi Downfall.avi Dying-Planet.avi Earth-Man.avi Fantasy-View.avi Far-Sight.avi Firebloom.avi Flowring.avi Forrest-Falls.avi Frozen-Orb.avi Green-Galaxy.avi Green-Lake.avi Haunted-Mansion.avi Kaminfeuer.avi Lake-Mountain.avi Leaf-Drop.avi Mystic-Sword.avi Mystic-Tree.avi Open-Fire.avi Planet-Earth.avi Plasmaball.avi Powercell.avi Radiance.avi Red-Matrix.avi Ruins.avi Secluded-Blue.avi Shadowface.avi Sphere-Tree.avi Summer-Leaves.avi Sunnyfalls.avi Sureal.avi The-Core.avi The-Deal.avi Twilight-Sky.avi

ca doit être non visible donc pas bon comment éviter de les écrire a cette endroit de mon code ?


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#10 Le 27/02/2011, à 13:51

FRUiT

Re : [Résolu] aide commande ls

Tu as des problèmes de syntaxe,

function fonc_videosliste()
{
    CHEMIN=""${HOME}"/.Dreamnux/videos/"
    CHEMIN="${HOME}/.Dreamnux/videos"
    "${CHEMIN}"
    cd "${CHEMIN}"   # A la rigueur si ce que tu souhaites est changer de répertoire, à ce moment là l'option cdable_vars doit être activée (shopt -s cdable_vars)
    ls  # Strictement inutile
    TRIE=( * )
    TRIE=( $CHEMIN/* )
    # Ou bien
    TRIE=( ${HOME}/.Dreamnux/videos/* )
    "${TRIE[0]}"
    "${TRIE[1]}"
    ...
    # J'ai pas compris tu cherches à faire quoi ici ? Afficher des éléments ? dans ce cas il faut utiliser echo ou printf, là cette syntaxe ne veut rien dire...


    TOUTEVIDEO="{ "${CHEMIN}""${TRIE[0]}" "${CHEMIN}""${TRIE[1]}""" "${CHEMIN}""${TRIE[2]}" "${CHEMIN}""${TRIE[3]}" "${CHEMIN}""${TRIE[4]}" "${CHEMIN}""${TRIE[5]}" "${CHEMIN}""${TRIE[6]}" "${CHEMIN}""${TRIE[7]}" "${CHEMIN}""${TRIE[8]}" "${CHEMIN}""${TRIE[9]}" "${CHEMIN}""${TRIE[10]}" "${CHEMIN}""${TRIE[11]}" "${CHEMIN}""${TRIE[12]}" "${CHEMIN}""${TRIE[13]}" "${CHEMIN}""${TRIE[14]}" "${CHEMIN}""${TRIE[15]}" "${CHEMIN}""${TRIE[16]}" "${CHEMIN}""${TRIE[17]}" "${CHEMIN}""${TRIE[18]}" "${CHEMIN}""${TRIE[19]}" "${CHEMIN}""${TRIE[20]}" "${CHEMIN}""${TRIE[21]}" }"

# Ou-la, non, et d'abord comment tu sais combien il y a d'éléments, c'est surement variable...

    TOUTEVIDEO="${TRIE[@]}"

# Ce qui ne sert à rien, autant utilise ${TRIE[@]} plutôt que TOUTEVIDEO...

echo "${TOUTEVIDEO}"
echo "${TRIE[@]}"
}

Etudie plutôt ceci :

for element in ${TRIE[@]}; do
  # ici tu mets tes commandes que tu  souhaites appliquer à chacun des fichiers, mais en fait tu cherches à faire quoi avec les fichiers videos ? echo c'est pour l'exemple il faudra faire ici autre chose ensuite.
  echo "il y a un fichier $element dans ce répertoire"
done

Dernière modification par FRUiT (Le 27/02/2011, à 14:10)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#11 Le 27/02/2011, à 14:10

kde4 fan

Re : [Résolu] aide commande ls

ceci fonctionne

function fonc_videosliste()
{
    CHEMIN="${HOME}/.Dreamnux/videos"
    TRIE=( $CHEMIN/* )
    TOUTEVIDEO="${TRIE[@]}"
echo "${TOUTEVIDEO}"
}

merci de ton aide

Dernière modification par kde4 fan (Le 27/02/2011, à 14:11)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#12 Le 27/02/2011, à 14:14

FRUiT

Re : [Résolu] aide commande ls

De rian ^^

Et souviens toi que l'on utilise jamais ls dans un script, il n'y a pas sa place sauf cas extraordinaire.

Dernière modification par FRUiT (Le 27/02/2011, à 14:15)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne