Script pour afficher fichiers d1 répertoire
Résolu/Fermé
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
-
24 nov. 2007 à 17:53
jeje_toulouse Messages postés 46 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 20 novembre 2011 - 24 nov. 2007 à 20:50
jeje_toulouse Messages postés 46 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 20 novembre 2011 - 24 nov. 2007 à 20:50
A voir également:
- Script pour afficher fichiers d1 répertoire
- Script vidéo youtube - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Explorateur de fichiers - Guide
- Fichiers bin - Guide
15 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
24 nov. 2007 à 18:47
24 nov. 2007 à 18:47
Et une petite variante pour la présentation et la sélection, peut être plus sympa et plus pratique que le copier/coller.
[tmpfs]$ cat foo.sh # le script #! /bin/bash echo -e "Choisissez un fichier dans la liste :\n" ls -1 rep/ | cut -d'.' -f1 | cat -n echo echo -e "Entrez le numéro correspondant : \c" read reponse echo echo -e "Le fichier choisi est : $(ls -1 rep/ | sed -n "${reponse} s/\..*$//p")" echo [tmpfs]$ ls -1 rep/ # le contenu du répertoire fichier1.txt fichier2.txt fichier3.txt fichier4.txt fichier5.txt [tmpfs]$ ./foo.sh # l'exécution du script Choisissez un fichier dans la liste : 1 fichier1 2 fichier2 3 fichier3 4 fichier4 5 fichier5 Entrez le numéro correspondant : 4 Le fichier choisi est : fichier4 [tmpfs]$A adapter avec les améliorations de "lami20j" ;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
24 nov. 2007 à 17:57
24 nov. 2007 à 17:57
Salut,
ls -1 /chemin/repertoire/;-))
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 18:02
24 nov. 2007 à 18:02
Merci a toi...
Donc je fait simplement un ls -l dans mon fichier script...
Je pensais plus compliqué donc j'ai même pas essayé...
encore merci
Donc je fait simplement un ls -l dans mon fichier script...
Je pensais plus compliqué donc j'ai même pas essayé...
encore merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
24 nov. 2007 à 18:17
24 nov. 2007 à 18:17
Salut,
Donc je fait simplement un ls -l dans mon fichier script...
ce n'est pas l(leurre ;)
mais le chiffre 1 ("un")
Donc je fait simplement un ls -l dans mon fichier script...
ce n'est pas l(leurre ;)
mais le chiffre 1 ("un")
ls -1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 18:18
24 nov. 2007 à 18:18
Après test avec cygwin, effectivement ça fonctionne.
Le seul "petit" souci, c'est que les droit / le user / la taille / la date sont affiché aussi par la même occasion.
J'ai donc fait un ls -x ou ls -C mais les fichiers ne sont pas affiché uniquement lignes par lignes ( je sais ,je suis un peu compliqué, désolé, mais c'est pour éviter les erreurs de saisie ).
Et de plus, je voudrais que l'extension des fichier n'apparaisse pas.
merci du coup de pouce...
Le seul "petit" souci, c'est que les droit / le user / la taille / la date sont affiché aussi par la même occasion.
J'ai donc fait un ls -x ou ls -C mais les fichiers ne sont pas affiché uniquement lignes par lignes ( je sais ,je suis un peu compliqué, désolé, mais c'est pour éviter les erreurs de saisie ).
Et de plus, je voudrais que l'extension des fichier n'apparaisse pas.
merci du coup de pouce...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
24 nov. 2007 à 18:19
24 nov. 2007 à 18:19
peu compliqué, désolé, mais c'est pour éviter les erreurs de saisie ).
regarde ici message 3
regarde ici message 3
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 18:20
24 nov. 2007 à 18:20
Impec avec le ls -1 ( et pas -l , j'avais pas vu ta réponse )
Par contre, se pose toujours le problème des extensions !!!!
thank
Par contre, se pose toujours le problème des extensions !!!!
thank
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
24 nov. 2007 à 18:21
24 nov. 2007 à 18:21
Comme expliqué par lami20j au post précédent, c'est un "1" (le chiffre UN) et non un "L" (la lettre "elle" minuscule) !
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
24 nov. 2007 à 18:22
24 nov. 2007 à 18:22
ls -1 | cut -d'.' -f1
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 18:31
24 nov. 2007 à 18:31
IMPECCABLE..... GENIAL....
Merci à vous deux lami20j et jipicy
super... vous me faite gagner énormement de temps
encore merci pour votre rapidité
Merci à vous deux lami20j et jipicy
super... vous me faite gagner énormement de temps
encore merci pour votre rapidité
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
24 nov. 2007 à 18:37
24 nov. 2007 à 18:37
Juste un petit détail.
Si jamais les noms de fichiers contient des points hors l'extension, ça ne marche pas la commande que je t'ai donné
mais le fichier s'appelle nom.prenom avec l'extension .txtpour eviter ça tu peux faire
Si jamais les noms de fichiers contient des points hors l'extension, ça ne marche pas la commande que je t'ai donné
lami20j@debian:~/trash2$ ls -1 abc a.c b.c nom.prenom.txt lami20j@debian:~/trash2$ ls -1 | cut -d'.' -f1 abc a b nomDonc on voit bien que le nom de fichier est tronqué après le 1er point (et ce n'est pas ça qu'on veux)
mais le fichier s'appelle nom.prenom avec l'extension .txtpour eviter ça tu peux faire
lami20j@debian:~/trash2$ ls -1 abc a.c b.c nom.prenom.txt lami20j@debian:~/trash2$ ls -1 | sed 's/\(.*\)\(\..*\)$/\1/' abc a b nom.prenomou
lami20j@debian:~/trash2$ ls -1 abc a.c b.c nom.prenom.txt lami20j@debian:~/trash2$ ls -1 | sed -r 's/(.*)(\..*)$/\1/' abc a b nom.prenom
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 19:07
24 nov. 2007 à 19:07
Je vais tester tout ça......Je vous tient au courant..
( Tu demandes un truc, et les gars ils te répondent en améliorant ta demande... top cool les gars )
re thank !!!!!!!!!!!!
( Tu demandes un truc, et les gars ils te répondent en améliorant ta demande... top cool les gars )
re thank !!!!!!!!!!!!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
24 nov. 2007 à 19:11
24 nov. 2007 à 19:11
Ben entre ToulouZainG conG, c'est normal conG ;-DDD
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 19:28
24 nov. 2007 à 19:28
Voici mon script :
....
# Variables a definir apres conversion DPSF6
# ------------------------------------------
REPMATASSYSTEM=/home/aa
# Listage des matériaux
echo ''
echo 'Liste des matériaux dans le répertoire ASSYSTEM : '$REPMATASSYSTEM
echo '-------------------------------------------------'
ls -1 $REPMATASSYSTEM | cut -d'.' -f1
# Choix des paramètres
echo ''
echo 'Taper le materiau choisi dans la liste ci dessus : \c'
read REPONSEMAT
echo ''
echo 'Taper le KSNULL choisi ( 1 ou 0 ) : \c'
read REPONSEKSNULL
echo ''
echo 'Taper le paramètre COMPRESSION choisi ( YES ou NO en majuscule ) : \c'
read REPONSECOMP
echo ''
MATERIAU=$REPONSEMAT
#FATIGUE_MATPWD_SJP=/home/fatigue-materiaux
NBVOL=1000
FTRONCINF=.001
FSUP=500
IQF=100
KSNUL='KSNUL='$REPONSEKSNULL
COMPRESSION=$REPONSECOMP
# Récap
echo 'Récap des paramètres :'
echo '-------------------------------'
echo '| Matériau : '$MATERIAU
echo '| KSNULL = '$REPONSEKSNULL
echo '| COMPRESSION = '$COMPRESSION
echo '-------------------------------'
echo ''
.......
donc :
- Le "-e" de "echo -e", il fait quoi de plus que le "echo" seul ?
- Concernant le listage pour taper le numéro avec "| cat -n", ma variable REPONSEMAT se voit attribuer le N° au lieu du nom que je veux.
- Pour ce qui est du "." ( si existance ) avant le "." de l'extension du fichier, dans mon cas, tous les fichier sont du style xxxx_xxx.xxx, donc, le pb ne se pose pas ( mais merci lami20j, j'ai tout noté, ça peut me servir plus tard ).
Enfin, j'avoue que j'ai un peu de mal a intégrer vos améloirations... mais bon, je débute, mais je m'y penche dessus.
Je vous tient au courant... et encore encore merci ( ils vont se dire, "quel lèche C.. celui ci ) !!!!!!
....
# Variables a definir apres conversion DPSF6
# ------------------------------------------
REPMATASSYSTEM=/home/aa
# Listage des matériaux
echo ''
echo 'Liste des matériaux dans le répertoire ASSYSTEM : '$REPMATASSYSTEM
echo '-------------------------------------------------'
ls -1 $REPMATASSYSTEM | cut -d'.' -f1
# Choix des paramètres
echo ''
echo 'Taper le materiau choisi dans la liste ci dessus : \c'
read REPONSEMAT
echo ''
echo 'Taper le KSNULL choisi ( 1 ou 0 ) : \c'
read REPONSEKSNULL
echo ''
echo 'Taper le paramètre COMPRESSION choisi ( YES ou NO en majuscule ) : \c'
read REPONSECOMP
echo ''
MATERIAU=$REPONSEMAT
#FATIGUE_MATPWD_SJP=/home/fatigue-materiaux
NBVOL=1000
FTRONCINF=.001
FSUP=500
IQF=100
KSNUL='KSNUL='$REPONSEKSNULL
COMPRESSION=$REPONSECOMP
# Récap
echo 'Récap des paramètres :'
echo '-------------------------------'
echo '| Matériau : '$MATERIAU
echo '| KSNULL = '$REPONSEKSNULL
echo '| COMPRESSION = '$COMPRESSION
echo '-------------------------------'
echo ''
.......
donc :
- Le "-e" de "echo -e", il fait quoi de plus que le "echo" seul ?
- Concernant le listage pour taper le numéro avec "| cat -n", ma variable REPONSEMAT se voit attribuer le N° au lieu du nom que je veux.
- Pour ce qui est du "." ( si existance ) avant le "." de l'extension du fichier, dans mon cas, tous les fichier sont du style xxxx_xxx.xxx, donc, le pb ne se pose pas ( mais merci lami20j, j'ai tout noté, ça peut me servir plus tard ).
Enfin, j'avoue que j'ai un peu de mal a intégrer vos améloirations... mais bon, je débute, mais je m'y penche dessus.
Je vous tient au courant... et encore encore merci ( ils vont se dire, "quel lèche C.. celui ci ) !!!!!!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
24 nov. 2007 à 20:18
24 nov. 2007 à 20:18
Re-
Bon le "echo -e" sert à interpréter les caractères d'échappement tel que "\c" ou "\n", autrement dit empêcher le saut de ligne final "\c" ou en rajouter un "\n".
Essaye ton script de cette façon :
Bon le "echo -e" sert à interpréter les caractères d'échappement tel que "\c" ou "\n", autrement dit empêcher le saut de ligne final "\c" ou en rajouter un "\n".
Essaye ton script de cette façon :
# Variables a definir apres conversion DPSF6 # ------------------------------------------ REPMATASSYSTEM="/home/aa" # Listage des matériaux echo '' echo 'Liste des matériaux dans le répertoire ASSYSTEM : '$REPMATASSYSTEM echo '-------------------------------------------------' ls -1 $REPMATASSYSTEM | cut -d'.' -f1 | cat -n # Choix des paramètres echo '' echo -e 'Taper le numéro du materiau choisi dans la liste ci dessus : \c' read REPONSEMAT echo '' echo -e 'Taper le KSNULL choisi ( 1 ou 0 ) : \c' read REPONSEKSNULL echo '' echo -e 'Taper le paramètre COMPRESSION choisi ( YES ou NO en majuscule ) : \c' read REPONSECOMP echo '' MATERIAU=$(ls -1 ${REPMATASSYSTEM} | sed -n "${REPONSEMAT} s/\..*$//p") #FATIGUE_MATPWD_SJP=/home/fatigue-materiaux NBVOL=1000 FTRONCINF=.001 FSUP=500 IQF=100 KSNUL=$REPONSEKSNULL COMPRESSION=$REPONSECOMP # Récap echo 'Récap des paramètres :' echo '-------------------------------' echo '| Matériau : '$MATERIAU echo '| KSNULL = '$REPONSEKSNULL echo '| COMPRESSION = '$COMPRESSION echo '-------------------------------' echo '';-)
jeje_toulouse
Messages postés
46
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
20 novembre 2011
24 nov. 2007 à 20:50
24 nov. 2007 à 20:50
Merci, là j'ai le top script...
J'ai plus qu'a faire la gestion d'erreurs....
Pb résolu à 200% par rapport à ma demande.
Surement à plus tard les gars............
J'ai plus qu'a faire la gestion d'erreurs....
Pb résolu à 200% par rapport à ma demande.
Surement à plus tard les gars............