Remplacement de retour chariot [Shell] - Shell/Batch - Programmation
Marsh Posté le 15-06-2006 à 20:17:55
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.
Marsh Posté le 15-06-2006 à 23:41:03
je te propose ceci :
cat monFichier | awk '
/;$/ { printf ( "%s-" , substr($0,1,length($0) - 1),"-" ) }
!/;$/ { print }
'
Marsh Posté le 16-06-2006 à 11:20:38
Merci ça marche nickouel.
Je m'étais trop focalisé sur la manière d'obtenir ça en une seule ligne de commande...
Marsh Posté le 15-06-2006 à 17:39:48
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