#1 Le 14/08/2013, à 02:47
- YOKOKOYO
[RESOLU] supprimer chemin d'acces
Salut a tous,
j'ai un petit probleme (oui, sinon je ne lancerais pas ce topic =P )
Voila, je dois ecrire une ligne de commande qui cherche dans le répertoire courant et dans tous
ses sous-répertoires tous les fichiers dont le nom se termine par ".sh" (sans les
guillemets) et n’affiche que leurs noms, sans le .sh.
Pour le moment j'ai fait
find . -name "*.sh" | sed "s/\.sh//" | cut -d"/" -f2
Ce qui bien entendu ne marche pas des masses....
Je pense aue c'est la partie "cut -d"/" -f2" qui pose probleme.
Je voulais prendre tout ce qui se trouve avant le dernier / du chemin d'acces et le supprimer.... mais bon, ca deconne...
Comment suprimer le chemim d'acces sans un cut ?? J'ai pense au baseband mais je ne trouve rien de concluant,
qu'en pensez vous ??
Si vous avez une idee je suis preneur =P
Dernière modification par YOKOKOYO (Le 14/08/2013, à 16:13)
Hors ligne
#2 Le 14/08/2013, à 04:01
- xabilon
Re : [RESOLU] supprimer chemin d'acces
Salut
Ceci devrait t'aider : http://pwet.fr/man/linux/commandes/basename
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#3 Le 14/08/2013, à 04:06
- Watael
Re : [RESOLU] supprimer chemin d'acces
salut,
find, c'est bien! mais fouille encore dans son man.
Tu dois pouvoir ne pas utiliser de pipe ( | ).
par contre, «supprimer fichier d'accès», ça ne veut rien dire.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 14/08/2013, à 06:06
- nesthib
Re : [RESOLU] supprimer chemin d'acces
python -c 'import os ; print("\n".join(f.strip(".sh") for d in os.walk(".") for f in d[2] if f.endswith(".sh")))'
while read file ; do echo ${file%.*} ; done < <(find . -iname '*.sh' -printf '%f\n')
et un petit hack foireux pour terminer (sauras-tu trouver la tricherie )
find . -iname '*.sh' -printf '%f\b\b\b \n'
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#5 Le 14/08/2013, à 06:08
- pingouinux
Re : [RESOLU] supprimer chemin d'acces
Bonjour,
Je pense que c'est ça que tu cherches :
find -name "*.sh" -exec basename "{}" .sh \;
Édité : J'arrive en retard, mais c'est encore une autre méthode…
Dernière modification par pingouinux (Le 14/08/2013, à 06:10)
Hors ligne
#6 Le 14/08/2013, à 06:11
- nesthib
Re : [RESOLU] supprimer chemin d'acces
C'est la plus simple, mais on peut s'amuser
NB. j'ajoute que la solution python est certainement très gourmande en mémoire pour un grand nombre de fichiers ^^
Dernière modification par nesthib (Le 14/08/2013, à 06:14)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 14/08/2013, à 10:23
- YOKOKOYO
Re : [RESOLU] supprimer chemin d'acces
Merci les gars.
Je vais prendre la solution de pingouinux.
Les autres sont bien aussi mais c'est la plus simple (oui, je suis un peu flemmard). apres le pythom c'est pas encore de mon niveau =P
Et pour mon titre je voulais mettre chemin d'acces mais j'ai du me planter. A 3h du math ca peut se comprendre
edit, je ne sais pas comment mettre en resolu =/
Dernière modification par YOKOKOYO (Le 14/08/2013, à 10:48)
Hors ligne
#8 Le 14/08/2013, à 15:59
- nesthib
Re : [RESOLU] supprimer chemin d'acces
Il te suffit de modifier ton premier message, et le titre
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne