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/11/2017, à 20:30

d3f4lt

Manipulation de fichiers

Bonsoir à tous,

Je me suis inscrit aujourd'hui sur le forum pour vous faire part d'un problème concernant du Shell. En effet après avoir chercher une bonne hère sur internet, je ne parviens pas à trouver la réponse..

Je sais afficher le 2 ème fichier d'un répertoire commençant par une chaine (par exemple 'ça' dans /usr/bin):

ls /usr/bin | grep -e '^ca' | sed -n '3p'

Cependant je n'arrive pas à afficher le 2ème fichier d'un répertoire (par exemple /usr/bin) ayant un 'a' ou un 't' en troisième caractère.

Merci d'avance pour votre aide..

Hors ligne

#2 Le 26/11/2017, à 20:41

d3f4lt

Re : Manipulation de fichiers

Je viens de trouver en persistant..
Pour ceux qui passent par là:

ls /usr/bin | grep -e '^..[at].*' | head -n 2 | tail -n 1

Hors ligne

#3 Le 26/11/2017, à 20:47

Watael

Re : Manipulation de fichiers

salut,

ce n'est pas la bonne méthode,
parce que les fichiers peuvent contenir des caractères qui feront échouer ces commandes, ou au moins ne pas afficher le résultat escompté.

il faudrait savoir quel shell on a le droit d'utiliser.

en bash :

shopt -s nullglob
list=( /usr/bin/??[at]* )
echo "${list[1]}"

en shell POSIX (c'est un peu plus compliqué) :

find /usr/bin -maxdepth 1 -name '??[at]*' -print0 | sort -dz | while read -rd '' f; do n=$((n+1)); test $n -eq 2 && { echo "$f"; break;}; done

à charge pour toi de commenter et expliquer le pourquoi du comment...

Dernière modification par Watael (Le 27/11/2017, à 00:31)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 26/11/2017, à 23:22

d3f4lt

Re : Manipulation de fichiers

Merci Watael pour ta réponse..

Etant débutant en bash je ne comprends ps totalement l'entièreté de ce que tu m'as donner. Me reste plus qu'à éplucher le man de ces nouvelles commandes.. Merci encore wink

Hors ligne