supprimer certain retour chariot - Shell/Batch - Programmation
Marsh Posté le 30-05-2005 à 12:29:14
En quoi ? Shell Unix (lequel ?), ou batch ?
Dans le premier cas, ce doit être faisable avec awk.
Marsh Posté le 30-05-2005 à 13:22:27
excusez moi, c'est bien avec shell.
Pour le commande awk, je vois pas trop comment tu l'utilises. Pourrais tu m'éclairer?
Marsh Posté le 30-05-2005 à 13:41:53
ptinat a écrit : excusez moi, c'est bien avec shell. |
Tu peux essayer ceci (dans l'exemple ci-dessous, les données sont dans "fic1" ) :
Code :
|
En règle générale, "man commande_unix" renvoie toutes les informations nécessaires.
Marsh Posté le 30-05-2005 à 14:02:40
Je n'arrive pas à faire marcher le programme.
ps: j'ai oublié de dire que je ne maitrise pas bien les commandes Shell.
Marsh Posté le 30-05-2005 à 14:07:48
Citation : Je n'arrive pas à faire marcher le programme. |
Tu n'es pas assez vague, pourrais-tu être moins précis ?
Qu'est-ce que tu ne parviens pas à faire ?
Marsh Posté le 30-05-2005 à 14:13:48
Elmoricq a écrit : Tu n'es pas assez vague, pourrais-tu être moins précis ? |
Quand jexécute le programme, ça saute 3 lignes sur lécran et je ne sais pas ce quil a fait (il ny a pas de messages derreurs)
il affiche le résultat où? et si on veut le rediriger dans un fichier, il le définit où?
Marsh Posté le 30-05-2005 à 14:22:16
Oui, j'ai fait une erreur de frappe.
Remplace la ligne :
Code :
|
(si $0 est une ligne qui n'est remplie que d'espaces... )
par :
Code :
|
(si $0 est une ligne qui contient autre chose que des espaces...)
Marsh Posté le 30-05-2005 à 14:31:44
Il ny a pas despace, mon fichier est exactement comme lexemple que jai donné.
Et le résultat de la commande affiche 3 lignes vides :
|
voilà ce que j'obtiens
Marsh Posté le 30-05-2005 à 14:31:52
Il ny a pas despace, mon fichier est exactement comme lexemple que jai donné.
Et le résultat de la commande affiche 3 lignes vides :
|
voilà ce que j'obtiens
Marsh Posté le 30-05-2005 à 14:33:22
Oui, oui, j'ai édité en catastrophe et posté une correction quand, pris d'un doute, j'ai copié-collé mon exemple pour tenter de reproduire ton comportement, et que j'ai eu la même chose que toi avec mon fichier de tout à l'heure.
J'sais pas ce que j'ai fait entre mon terminal et le forum, doit être fatigué.
Marsh Posté le 30-05-2005 à 15:21:26
Encore moi, j'ai un autre soucis.
En faite, je viens de me rendre compte que la condition : chaque ligne commence par un chiffre nest pas tout à fait exacte.
La vrai condition est que chaque ligne doit commencer par un seul chiffre, soit 0 soit 1.
Désolé de ne pas avoir bien préciser tout au départ.
Marsh Posté le 30-05-2005 à 15:21:33
Encore moi, j'ai un autre soucis.
En faite, je viens de me rendre compte que la condition : chaque ligne commence par un chiffre nest pas tout à fait exacte.
La vrai condition est que chaque ligne doit commencer par un seul chiffre, soit 0 soit 1.
Désolé de ne pas avoir bien préciser tout au départ.
Marsh Posté le 30-05-2005 à 16:53:10
Dans ce cas, remplace :
if ( $0 ~ /^[0-9]/ && NR != 1 ) |
Par :
if ( $0 ~ /^[0-1];/ && NR != 1 ) |
Ce qui signifie pour l'expression régulière (le contenu entre les deux '/') : "si le premier caractère est 0 ou 1, et qu'il est immédiatement suivi d'un point-virgule"
Marsh Posté le 30-05-2005 à 11:55:48
bonjour,
Je souhaiterais savoir comment supprimer dans un fichier text certain retour chariot.
ex de fichier à transformer :
0;var1
var2
var3
1;var4;var5
var6
1;var7 var8
et le fichier que je voudrais en sortie :
0;var1 var2 var3
1;var4;var5 var6
1;var7 var8
merci d'avance pour votre aide