Mon fichier:Sed sur les lignes correspondant à un nombre donné de caractère spécifique
Nicole,Foo,senior,Lexington
John,Doe,junior,Chicago
John,Fool,True,junior,Detroit
Lara,True,Fool,senior,Miami
Ce que je voudrais: enlever la deuxième virgule dans la ligne quand il y a quatre au lieu de trois virgules, comme ceci:
Nicole,Foo,senior,Lexington
John,Doe,junior,Chicago
John,Fool True,junior,Detroit
Lara,True Fool,senior,Miami
Ce que j'essayé:
Pour détecter les lignes avec quatre virgules:
awk -F, '{print NF-1; next; print $0}' myfile
Pour enlever la deuxième virgule dans une ligne:
sed 's/,/ /2' myfile
Ce que je ne peux toujours pas faire: combiner ces deux commandes et appliquent la commande sed uniquement aux lignes avec 4 virgules. Je pense que cela pourrait être fait avec xargs mais je ne sais pas comment le gérer avec une telle déclaration conditionnelle.
Peut-être que quelqu'un pourrait me donner une direction?