Decouper un fichier en 140 caract par lignes

Résolu
stephbret56 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -  
stephbret56 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterai mettre en place un script ksh qui me permette de découper un fichier qui comporte à l’intérieur 1 seule ligne de 1350 caractères en 140 caractères par lignes

Exemple fichier d’origine:
ABCDEFGHIJKLMNOPQRS……12345698233435456465..XZAGTYHKJJHGJJJH…il y a un total de 1350 caractères sur la ligne……

Le fichier après découpage :

ABCDEFGHIJKLMNOPQRS……12345698233435456465..XZAGTYHKJJHGJJJH…il y a un total de 140 caractères sur la 1ère ligne……
ABCDEFGHIJKLMNOPQRS……12345698233435456465..XZAGTYHKJJHGJJJH…il y a un total de 140 caractères sur la 2ème ligne……
.
.
.
.
ABCDEFGHIJKLMNOPQRS……12345698233435456465..XZAGTYHKJJHGJJJH…il y a un total de 90 caractères sur la 10ème ligne et dernière ligne.



Merci pour votre aide
A voir également:

7 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,
jp@MDK:~/tmpfs ssh$ cat fich
ABCDEFGHIJKLMNOPQRS12345698233435456465XZAGTYHKJJHGJJJH

jp@MDK:~/tmpfs ssh$ wc -c fich
56 fich

jp@MDK:~/tmpfs ssh$ sed 's/.\{14\}/&\n/g' fich
ABCDEFGHIJKLMN
OPQRS123456982
33435456465XZA
GTYHKJJHGJJJH

jp@MDK:~/tmpfs ssh$
;-))
2
stephbret56 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   6
 
Meci mais le résultat est inchangé voir mes lignes de commandes suivante:

/tmp: sed 's/.\{14\}/&\n/g' fich
ABCDEFGHIJKLMNnOPQRS123456982n33435456465XZAnGTYHKJJHGJJJH

/tmp: pg fich
ABCDEFGHIJKLMNOPQRS12345698233435456465XZAGTYHKJJHGJJJH
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Au choix, ou tu disposes de l'option "-i" de sed (voir version) et tu mets :
sed -i.bak 's/.\{14\}/&\n/g' fich
ce qui modifiera le fichier original tout en créant une sauvegarde nommée fich.bak.

Soit tu rediriges la sortie vers un autre fichier :
sed 's/.\{14\}/&\n/g' fich > new_fich
0
stephbret56 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   6
 
J'ai passé la commande comme indiquée le résultat est le suivant:

sed 's/.\{14\}/&\n/g' fich > new_fich

Résultat sous VI:

vi new_fich
"new_fich" 1 ligne, 59 caractères
1 ABCDEFGHIJKLMNnOPQRS123456982n33435456465XZAnGTYHKJJHGJJJH
~
~
Résultat en pg ou cat:


pg new_fich
ABCDEFGHIJKLMNnOPQRS123456982n33435456465XZAnGTYHKJJHGJJJH

cat new_fich
ABCDEFGHIJKLMNnOPQRS123456982n33435456465XZAnGTYHKJJHGJJJH

Il n'y a pas de découpage du fichier fich dans new_fich

Pour la commande sed -i j'ai le message suivant:
sed -i.bak 's/.\{14\}/&\n/g' fich
sed : option non admise : i
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,
et comme ça?
perl -pi.orig -e 's/(.{140})/$1\n/' fichier
--
106485010510997108
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
0
stephbret56 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci pour la solution en perl elle fonctionne nikel chrome

Milles merci bonne semaine A bientot
0