Bonjour,
Je débute en script, soyez indulgents svp
Je veux dans une arborescence trouver les fichiers *.sh et afficher la première ligne si elle contient #! préfixée du nom du fichier.
Le résultat obtenu est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 echo SCRIPTS SH AVEC GREP 1********************** for i in `find . -name '*.sh' 2>/dev/null` do if head -n 1 $i | grep '#!' ; then echo "$i : \c" ; head -n 1 $i; fi done
Le test fonctionne bien, l'affichage concaténé aussi mais je n'arrive pas à enlever les lignes #!/bin/sh.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SCRIPTS SH AVEC GREP 1********************** #!/bin/sh ./analyse_liens_tables.sh : #!/bin/sh #!/bin/sh ./comptage_occur_base.sh : #!/bin/sh #!/bin/sh ./description_tables.sh : #!/bin/sh #!/bin/sh ./script.sh : #!/bin/sh #!/bin/sh ./recherche_scripts_tous.sh : #!/bin/sh #!/bin/sh ./toto1/script.sh : #!/bin/sh
J'ai essayé en utilisant la commande test ou les [] mais cela me déclenche une erreur de grep à chaque fichier.
Auriez vous une solution à me proposer svp ?
Merci d'avance pour les réponses.
Partager