Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2802 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [bash] Commande pour supprimer des mots (resolu)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[bash] Commande pour supprimer des mots (resolu)

n°1017894
shulsie
Posté le 04-03-2008 à 10:43:27  profilanswer
 

Bonjour j'ai un fichier texte.txt :
 
habilitas habiliter Ver:IPSim+SG+P2
habilitasse habiliter Ver:SImp+SG+P1
habilitassent habiliter Ver:SImp+PL+P3
habilitasses habiliter Ver:SImp+SG+P2
 
 
Je veut garder que la première colonne  :
 
sed 's/\t*//g' test.txt > o.txt
 
ca marche pas a cause de mon * :(
 
En fait je cherche l'expression reguliere a metre dans la commande sed pour dire :
 
tout ce qui commence par une tabulatione "\t"
ou tout ce qui commence par un expace " "
 
merci


Message édité par shulsie le 04-03-2008 à 11:06:32
mood
Publicité
Posté le 04-03-2008 à 10:43:27  profilanswer
 

n°1017905
neriki
oenologue
Posté le 04-03-2008 à 11:00:58  profilanswer
 

C'est plus facile avec awk. :o
 

awk '{ print $1}' test.txt


---------------
C'est pas bon, Neriki, tu recommences à glander, là. :o
n°1017908
shulsie
Posté le 04-03-2008 à 11:06:19  profilanswer
 

Merci ça fait des heures que je reste bloquer sur ce truc débile  :jap:

n°1017987
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 04-03-2008 à 14:27:27  profilanswer
 

une espace ou une tabulation (une fois), puis n'importe quoi (un nombre quelconque de fois) :
[\t ].*
on notera le " " dans les crochets (qui ne contiennent pas que \t donc)
 
un espace blanc (une fois), c'est à dire une espace ou une tabulation ou un retour à la ligne, puis n'importe quoi (un nombre quelconque de fois) :
\s.*
 
 
si le "n'importe quoi" sous-entend "n'importe quoi SAUF espace ou tabulation car ça, ça marque la fin du mot :
une espace ou une tabulation (une fois), suivi de n'importe quoi qui-n'est-ni-une-espace-ni-une-tabulation (un nombre quelconque de fois)
[\t ][^\t ]*
 
 
 
À noter :  \w équivaut à [a-zA-Z0-9_]
À noter : on peut aussi faire  

cat texte.txt | cut -d ' ' -f 1


pour découper chaque ligne au niveau des espaces et garder le premier champ.
 
 
Mais awk sbien aussi hein  :o


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [bash] Commande pour supprimer des mots (resolu)

 

Sujets relatifs
[RESOLU] Commande pour afficher le type de FS : VOL_IDComment supprimer backdoor eggdrop
mplayer ne veut pas lire, problème avec alsa ? [Résolu][RESOLU] Compilation noyau et modules
[resolu] [Xubuntu] crtl+alt+echp et 2, 3 clics malheureux ...[RESOLU] KDE4 : Could not start d-bus. Check your installation
Problème xchat à la commande "make"[RESOLU] Acces partition ntfs
[Slackware] Probleme de webcam [ résolu ] 
Plus de sujets relatifs à : [bash] Commande pour supprimer des mots (resolu)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR