Supprimer une partie de la ligne

nounou1962 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
nounou1962 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
bonjour tout le monde

j'ai un fichier contenant les lignes suivantes

/racine/user1/rep1/dff/ggj
/racine/user2/rep1

je veux avoir :
/racine/user1
/racine/user2

càd supprimer une partie de la ligne (à partir de de la troisième /)

j'attends votre réponse
mercii:)






A voir également:

3 réponses

debianhunter Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   24
 
Bonjour,

man cut
;o)

Bon, allez, je suis de bonne humeur ce soir: comme vous le notiez, il faut considerer / comme un delimiteur et garder les champs avant le troisieme /

cat fichier | cut -d "/" -f0-3


-d donne le delimiteur
-f une liste de champs(field)

Bon courage !
0
nounou1962 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre réponse :)
mais qu'est ce que vous voulez dire par :

-f une liste de champs??
0
debianhunter Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   24
 
cut - remove sections from each line of files

En fait, cut permet de 'decouper' une ligne autour d'un caractere de delimitation. Chaque portion encadree par ce caractere sera un champ. SI nous prenons /racine/user1/rep1/dff/ggj pour ligne et / pour caractere de delimitation, cut decoupe la ligne en
         <-- *
racine
user1
rep1
dff
ggj
* la il n'y a rien car on coupe autour de / et avant le premier / et bien il n'y a rien !

Dans la page de manuel, chacune de ces portions est appelee field, champ.

L'option -f permet de selection les champs a afficher. Nous, on veut afficher jusqu'au champ 3, donc on note
f1-3
pour dire que l'on veut afficher du champ 1 (rien) au champ 3 (user1). (Je me suis apercu que le 0 que j'avais mis avant est abusif ; utilisons 1 a la place)
On aurait pu marquer "Je veux les champs de puis le debut jusqu'au champ 3"
 -f-3
Un autre point que j'avais loupe (des fois ca fait du bien de relire le manuel ;o), c'est que l'on n'a pas besoin de faire un pipe entre cat et cut. cut accepte un fichier comme parametre. Aussi, une autre solution (meilleure !) serait:
cut -d "/" -f-3 fichier
0
nounou1962 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
merciiiiiii infiniment pour ta réponse
c'est très utile
:)))
0