BASH + ER : Lister les disques uniquement (sans les partitions)

Tout ce qui concerne la programmation.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

ça fait une heure que je bute sur un truc tout con :010:

Comment faire ça :

Code : Tout sélectionner

$ ls /dev | grep 'sd[a-z]' | grep -v '[0-9]'
sda
avec 1 seul grep ?

Il me semblait qu'un intervalle : [^0-9]
signifie : tout sauf 1 chiffre

donc qu'une expression genre : sd[a-z][^0-9]*
devait le faire....

.... mais niet !

Code : Tout sélectionner

$ ls /dev | grep 'sd[a-z][^0-9]*'
sda
sda1
sda2
sda3
sda4
sda5
sda6
OS court !
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4959
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Code : Tout sélectionner

$ lsblk --nodeps -n -o name
sda
sdb
$
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

La proposition de lol est à mon avis une meilleure option, mais juste pour répondre au souci de grep :

Code : Tout sélectionner

$ ls /dev | grep 'sd[a-z]$'
sda
sdb
sdc
sdd
sde
Le $ représentant la fin de la ligne.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Merci à tous...

J'aurais du penser à la solution de vv222

... quel boulet suis-je ! :spiteful: :bomb:
**Simple Utilisateur** -- Debian stable - XFCE
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonjour

Au cas où il y ait un nom de fichier de périphérique qui utiliserait plusieurs lettres alphabétiques,
comme par exemple : /dev/sdaa

Code : Tout sélectionner

ls /dev | grep 'sd[a-z]*$'
Répondre