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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell] Remplacement de retour chariot

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Shell] Remplacement de retour chariot

n°1388353
focke_oeuf
Posté le 15-06-2006 à 17:39:48  profilanswer
 

Bonjour,
 
J'ai déjà cherché sur le forum mais le cas abordé ne correspond pas vraiment au mien.
 
Voici mon fichier en entrée
 
ab;cd
ab;cd;
ef;gh;
ij;kl
ab;cd;
ef;gh
 
J'aimerais remplcer les ";\n" par des "-" pour obtenir le résultat suivant
ab;cd
ab;cd-ef;gh-ij;kl
ab;cd-ef;gh
 
J'ai déjà utilisé des commandes sed et awk, mais dans chaque cas, il me remplace le bon ";" mais laisse le "\n"
 
Donc à la fin je me retrouve avec
 
ab;cd
ab;cd-
ef;gh-
ij;kl
ab;cd-
ef;gh
 
Donc pour résumer il me trouve bien mon caractère à remplacer, mais supprime pas le retour chariot...
 
Comment faire ?
 
Edit: Je suis en ksh


Message édité par focke_oeuf le 15-06-2006 à 17:44:13
mood
Publicité
Posté le 15-06-2006 à 17:39:48  profilanswer
 

n°1388417
Fred_l
Posté le 15-06-2006 à 20:17:55  profilanswer
 

Je débute en KSH, mais as tu essayé le cat ?
 
cat fichier |&
while read -p ligne
do
 echo $ligne
 # la tu concatènes dans une autre variable
 nyal $ var1="$var1 $ligne"
 ou
 nyal $ var1=`echo "$var1 $ligne"`
 
done
# Et la tu fais un  
echo $var1 > ton fichier.
 
 

n°1388421
Fred_l
Posté le 15-06-2006 à 20:19:54  profilanswer
 

Excuse, mais enlève nyal $ !! C'est le prompt !!

n°1388554
gloo
Posté le 15-06-2006 à 23:41:03  profilanswer
 

je te propose ceci :
 
 

cat monFichier | awk '
/;$/ { printf ( "%s-" , substr($0,1,length($0) - 1),"-" ) }
!/;$/ { print  }
'

n°1388800
focke_oeuf
Posté le 16-06-2006 à 11:20:38  profilanswer
 

Merci ça marche nickouel.
 
Je m'étais trop focalisé sur la manière d'obtenir ça en une seule ligne de commande...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell] Remplacement de retour chariot

 

Sujets relatifs
[shell] sortir au bout d un certain temps de mon test[Shell résolu] trier les lignes obtenues par tail -f
Desactiver les avertissements d'expiration lors d'un retour[Linux shell] execution de commande ?
Execution d'une commade shell[perl] supprimer les emails bounces (retour/erreur) d'une base mysql
Zones réactives et remplacement d'une imagebug : donné qui change lors d'un retour de fonction
[SHELL] petit script facil mais gros soucitDOS retour à la ligne
Plus de sujets relatifs à : [Shell] Remplacement de retour chariot


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