OVH Cloud OVH Cloud

"du" et "cut"

10 réponses
Avatar
Lionel Payan
Bonjour,

Quand je fait du -sk * |sort -n dans un dossier, j'ai une liste du type
123456 user1
123123 user2
.....
je veux maintenant ne garder que les noms d'utilisateurs avec | cut -d " "
mais la séparation entre la taille et le nom d'utilisateur semble ne pas
être un espace. Est ce cela peut être le caractère "tabulation", si oui
comment fait on pour le représenter après le -d ?

Merci pour votre aide.

Lionel.

10 réponses

Avatar
Stephane Chazelas
2006-02-07, 10:31(+00), Lionel Payan:
Bonjour,

Quand je fait du -sk * |sort -n dans un dossier, j'ai une liste du type
123456 user1
123123 user2
.....
je veux maintenant ne garder que les noms d'utilisateurs avec | cut -d " "
mais la séparation entre la taille et le nom d'utilisateur semble ne pas
être un espace. Est ce cela peut être le caractère "tabulation", si oui
comment fait on pour le représenter après le -d ?
[...]


C'est le separateur par defaut de cut :)

du -sk -- * | sort -n | cut -f2-

Sinon, insert le caractere de tabulation, tout simplement:

cut -d ' ' -f2-

--
Stéphane

Avatar
Harpo
Lionel Payan wrote:

Bonjour,

Quand je fait du -sk * |sort -n dans un dossier, j'ai une liste du
type
123456 user1
123123 user2
.....
je veux maintenant ne garder que les noms d'utilisateurs avec | cut -d
" " mais la séparation entre la taille et le nom d'utilisateur semble
ne pas être un espace. Est ce cela peut être le caractère
"tabulation",


Très probablement.

si oui comment fait on pour le représenter après le -d ?


En tapant sur la touche tab entre 2 quotes, je pense.

Mais le mieux est peut-être d'utiliser l'option -f qui prend le tab
comme séparateur.
pour garder simplement le nom d'utilisateur, fait :
cut -f 2
qui gardera le second champ.

Avatar
Stephane Dupille
Bonjour,


Salut !

je veux maintenant ne garder que les noms d'utilisateurs avec | cut -d " "
mais la séparation entre la taille et le nom d'utilisateur semble ne pas
être un espace. Est ce cela peut être le caractère "tabulation", si oui
comment fait on pour le représenter après le -d ?


Je ne sais pas quel système tu utilises, mais chez moi, sur un BSD,
un "man du" donne :

-d delim
Use the first character of delim as the field delimiter
character
instead of the tab character.

Donc ne pas mettre de -d et il prendra par défaut une tabulation.

Merci pour votre aide.


Ah mais de rien !

--
salut Lolo!!!
Alors les vacances, c'était bien?
Faut que j'te raconte ce qui m'est arrivé samedi
-+- AC in: GNU - Allo lolo, pourquois tu GNUtes ? -+-

Avatar
Stephane Dupille
Autant pour moi,


<HS>
la bonne graphie est "Au temps pour moi". voir
http://www.langue-fr.net/index/A/au_temps-autant.htm
</hs>

j'avais pourtant lu le "man cut" mais un peu trop vite.


Y'a pas d'mal !

Merci.


Ah mais de rien !

--
SH> http://www.deja.com/getdoc.xp?ANa5524992
Ah ah, elle est bien bonne, votre lien pointe sur une page Web ! Vous
en avez d'autres dans ce genre ?
- AB in <http://www.le-gnu.net> À ce point, ce n'est plus soignable. -

Avatar
Harpo
Lionel Payan wrote:

Autant pour moi, j'avais pourtant lu le "man cut" mais un peu trop
vite. Merci.


Accessoirement, soit ta machine n'est pas à l'heure de ton pays, soit le
timezone n'est pas le bon.

Avatar
Harpo
Stephane Dupille wrote:

Autant pour moi,


<HS>
la bonne graphie est "Au temps pour moi". voir
http://www.langue-fr.net/index/A/au_temps-autant.htm


Ca se discute, il fut même un moment où on disait 'OTAN pour moi'.

</hs>



Avatar
Lionel Payan
Harpo wrote:


Accessoirement, soit ta machine n'est pas à l'heure de ton pays, soit le
timezone n'est pas le bon.


En fait c'était les deux.

Avatar
Lionel Payan
Stephane Dupille wrote:


<HS>
la bonne graphie est "Au temps pour moi". voir
http://www.langue-fr.net/index/A/au_temps-autant.htm
</hs>


Au temps pour moi !

Avatar
Lionel Payan
Stephane Dupille wrote:

Bonjour,


Salut !

je veux maintenant ne garder que les noms d'utilisateurs avec | cut -d "
" mais la séparation entre la taille et le nom d'utilisateur semble ne
pas être un espace. Est ce cela peut être le caractère "tabulation", si
oui comment fait on pour le représenter après le -d ?


Je ne sais pas quel système tu utilises, mais chez moi, sur un BSD,
un "man du" donne :

-d delim
Use the first character of delim as the field delimiter
character
instead of the tab character.


Autant pour moi, j'avais pourtant lu le "man cut" mais un peu trop vite.
Merci.


Avatar
Stephane Dupille
< snip le goret-quotage. Merci de faire un effort ! >

du -sk * | sort -n | awk '{print $2}'
voila ce que j'écrirais !


Dans ce cas précis je ne vois pas l'intérêt d'utiliser awk plutôt
que cut. D'ailleurs, il est loin d'être certain qu'awk soit plus
rapide.

Ou alors, il faudrait agréger toutes la chaîne de pipe dans un seul
awk...

--
Excusez-moi pour ce message perso mais y'a urgence.
Régis X de Chambéry et Thierry Y de Strasbourg sont priés de prendre
contact avec le Bureau de LUCCAS par mail.
-+- In : GNU - Le bonheur c'est simple comme un coup de fil -+-