Bash trier un fichier texte avec sort

Integreur Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai des fichiers textes qui ne sont pas bien mis en forme.J'aimerais savoir comment limiter un fichier texte a 50 caractères pour chaque ligne.Voici un exemple de ce que me donne mes fichiers textes :

ceci 
est un te
st
sur le
fichier
toto qui
doit s'aff
cher correctement
mai
s
ça
marche
pa
s
.


Ce que j'aimerais c'est pour chaque lignes, les assembler entre elles mais en dépassant pas plus de 50 caractères par lignes, ainsi on aurai le contenu du fichier texte qui s'affiche bien et non pas quelque chose de coupé est illisible comme dans l'exemple ci-dessus.Le but et d'avoir une sortie comme celle ci-dessous:

ceci est un test sur le fichier toto qui doit s'afficher correctement mais ça marche pas


Je suppose que sort ou awk peuvent etre utilisés ?

Merci



A voir également:

2 réponses

Utilisateur anonyme
 
salut,

d'abord, ce que tu décris ne correspond pas à un tri, qui consiste à appliquer un ordre déterminé à une collection d'éléments; or, ici, l'ordre des mots ne semble pas devoir changer.

ensuite, ce que tu veux faire n'est pas possible : c'est hors de portée du shell, ou de la plupart des codeurs, car cela nécessite une analyse syntaxique de la langue pour reconstituer correctement le message, et corriger les fautes d'orthographe.

Je suppose que sort ou awk peuvent etre utilisés ?
dommage, ce serait plutôt
sed
et
fold
...
mais ça ne fera pas de magie !
1
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
fmt coupe les lignes respectant les mots mais va rajouter systématiquement un espace
$ fmt -50 fichier
ceci est un te st sur le fichier toto qui doit
s'aff cher correctement mai s ça marche pa s .
1