Couper pattern avec sed et cut [Closed]

Couper pattern avec sed et cut [Closed] - Shell/Batch - Programmation

Marsh Posté le 24-04-2014 à 09:31:05    

Salut à tous,
 
J'ai un fichier contenant des milliers de lignes cf en dessous provenant d'une extraction google.
 

john.doe@johndoe.com,/JD_Divisions/AAA,True,ADMIN,2013-04-05T14:44:01.000Z


 
J'aimerai arriver à enlever deux choses dans le format de la date 2013-04-05T14:44:01.000Z :

  • .000Z
  • T


J'ai réussi à enlever le .000Z en faisant

sed -i "s/.000Z//g" users.txt |cut -d"," -f5


 
Mais si je fais la même chose avec T

sed -i "s/T/ /g" users.txt |cut -d"," -f5


 
Ça enlève carrément le T sur toute la ligne.
 
Est-ce qu'il est possible d'utiliser sed uniquement sur la colonne f5 avec mon cut ? Où est-ce qu'il y a une manière plus propre de faire ?
 
Merci :)


Message édité par Profil supprimé le 28-04-2014 à 18:37:55
Reply

Marsh Posté le 24-04-2014 à 09:31:05   

Reply

Marsh Posté le 24-04-2014 à 14:17:23    

salut,
 
il faut préciser le format de ce qui précède le caractère à enlever, et des références arrières pour la partie à conserver

Code :
  1. sed -e 's/\(.*[0-9]\{4\}-[0-9][0-9]-[0-9][0-9]\)T\(.*\)/\1 \2/' -e 's/\(.*\)\..*/\1/' tonFichier

Reply

Marsh Posté le 25-04-2014 à 07:46:47    

Je regarde ça dans la journée, merci  :jap:

Reply

Marsh Posté le 28-04-2014 à 18:16:17    

Je n'ai pas réussi à enlever le T avec ta commande, j'essaye de bricoler un peu mais comme j'ai énormément de mal avec la syntax c'est pas gagné  [:tinostar]
 
Edit: Ah bah si j'ai réussi, en appliquant que ce pattern ça fonctionne  [:tinostar]  
 

sed -e 's/\(.*[0-9]\{4\}-[0-9][0-9]-[0-9][0-9]\)T\(.*\)/\1 \2/'


 
Merci en tout cas  :jap:


Message édité par Profil supprimé le 28-04-2014 à 18:37:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed