Afficher le nombre des ligne sous un répertoire

ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Merci de m'aider pour compter le nombre des fichiers ( des lignes) qui sous un path quelconque ,
j'ai essayé par cet exemple :

#!/bin/bash

$1=ls /path1 | wc -l

echo $1



A voir également:

9 réponses

aurelazy Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   50
 
Bonjour Ahmed,

Tu veux récupérer le résultat de la commande dans une variable ?

nbligne=`ls <path> | wc -l` 


Tu entoures ta commande avec des " `` " (altGr + 7)

ou

nbligne=$(ls <path> | wc -l)



Bonne nuit,


Well, if it looks like a duck, swims like a duck, and quacks like a duck, it's probably a duck.
0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Comment je peux modifier mon script lorsque je change le path chaque fois. c-a-d dans l'exécution du script :

./script path
./script path 1
./script path 2
...
le path est une argument dans l'exécution.

Merci,
0
aurelazy Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   50
 
Les "path" sont aléatoire ou toujours les mêmes ?

0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
dans le script
export PATH="$PATH:$1"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aurelazy Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   50
 
Ha ok, en fait le $1 de la commande de dubcek sera le premier argument passé à ta commande.
Donc $1=path1 dans ta commande: ./script path1

Bonne nuit,

Well, if it looks like a duck, swims like a duck, and quacks like a duck, it's probably a duck.
0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Les paths sont toujours les même.

Merci
0
aurelazy Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   50
 
Si as chaque fois tu dois lancer le script avec différents path,
Tu peux soit créer une liste dans ton script qui va comprendre tous tes "path" et ensuite tu boucles sur cette liste pour récupérer tes informations, ou créer un fichier plat avec tous tes path à l'interieur, ensuite dans ton script tu appels ton fichier et tu récupères tes infos.

Voila,

0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Merci aurelazy de m'aider pour rédiger le script avec un boucle.
0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayé par ce script :

#!/bin/bash


PATH=$1


nblign=`ls $PATH | wc -l`


echo nbligne


lorsque je lance l'éxécution je recois :

./nombre-ligne.sh path

./nombre-ligne.sh: line 7: ls : commande introuvable
./nombre-ligne.sh: line 7: wc : commande introuvable
nbligne


Merci de m'aider.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
il faut ajouter $1, pas remplacer
export PATH="$PATH:$1"
0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Comme ça ?

#!/bin/bash


PATH="$PATH:$1"


nblign=`ls $PATH | wc -l`


echo nbligne
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
pourquoi : ls $PATH ?
PATH est une variable: echo $PATH
tu veux compter le nb. de fichiers dans chaque répertoire dans PATH ?
nblign=$(ls ${PATH//:/ } | wc -l)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
PATH est une liste de répertoires séparés par :
voir post # 13
0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   > dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci dubcek pour votre collaboration mais J'ai obtenu le même problème :

#!/bin/bash

export PATH="$PATH:$1"

nbligne=$ (ls ${PATH//:/ } | wc -l)

echo nbligne

$ ./nombre-cdr.sh /opt
ls: impossible d'accéder à /opt/albat/bin: Aucun fichier ou dossier de ce type
nbligne
0
ahmed_king29 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
lorsque je tape :

ls /opt/albat/bin | wc -l ----> j'obtient 3

et lorsque j'exécute le script j'obtient :

$ ./nombre-cdr.sh /opt/albat/bin
ls: impossible d'accéder à /opt/albat/bin: Aucun fichier ou dossier de ce type
1552
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
afficher PATH : echo $PATH
0