Découper une très longue ligne en plusieurs

Découper une très longue ligne en plusieurs Longue ligne Microsoft Word 2007 (Résolu) » Forum - Word Windows 7 : Découper une image dans une capture d'écran » Conseils pratiques - Windows 7 LES LONGUES LIGNES ... = plus de menus ccm » Forum - Bugs et suggestions CCM Supprimer une longue ligne dans Word 2007 » Forum - Word Comparer deux (longues) lignes » Forum - VB / VBA

Bonjour,
j'ai un très très long fichier contenant une seule ligne de plus de 5 millions de valeurs
0.55971931 0.5113123 0.51621799 0.65333583 0.5352019 0.42886304 0.5883952 0.57659072 0.65463236 0.48981324 0.52246554 0.4432738 0.55416584 0.43427686 0.54144264 0.73262018 0.52734922 0.49281018 0.64068342 0.48989701 ...............................................
(1L, 5024860C)

je souhaite le découper une plusieurs lignes de 255 colonnes.

d'avance merci

Forum

Découper une très longue ligne en plusieurs Longue ligne Microsoft Word 2007 (Résolu) » Forum - Word Windows 7 : Découper une image dans une capture d'écran » Conseils pratiques - Windows 7 LES LONGUES LIGNES ... = plus de menus ccm » Forum - Bugs et suggestions CCM Supprimer une longue ligne dans Word 2007 » Forum - Word Comparer deux (longues) lignes » Forum - VB / VBA

Web: www.shapebootstrap.net

12 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Salut,
je souhaite le découper une plusieurs lignes de 255 colonnes.
J'avoue n'avoir pas tout compris là ;-\

Plusieurs lignes ?
Plusieurs colonnes ?
Ou les deux ?

Merci zipe31 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 22752 internautes ce mois-ci

Reply
réponses:
  • kalifi

    Salut,
    départ : (ce que j'ai) une seule ligne (avec plusieurs valeurs comme ceci)
    0.55971931 0.5113123 0.51621799 0.65333583 0.5352019 ..etc. (1L x 5024860C)

    arrivée (ce que je souhaite avoir) ( n Lignes x 255 C colonnes ou valeurs)

    merci

  • UnGnU

    Salut,

    As-tu regardé la commande "fold" donnée plus bas par Char Snipeur ???
    Elle semble toute indiquée pour ce que tu veux faire.

    Sinon

    sed -r 's/.{250}/&\n/g' fichier
    devrait faire le boulot.

  • lapiel

    le monsieur veut des lignes de 255 "mots" (colonnes, ou champs) en considérant l'espace comme séparateur.

  • zipe31

    Hi,

    Qu'à cela ne tienne…

    sed -r 's/([^ ]* ){255}/&\n/g' fichier
    ;-)

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Il doit y avoir un truc simple, mais là, je l'ai pas... probablement avec awk.
Sinon, on peut le faire à la bourrin.
On commence par compter le nombre de caractères :
nb=$(wc -c fichier)
ensuite, une bonne boucle :

for (( i=0 ; i< nb/255 ; i+=1 ))
do
(( a=i*255+1 ))
(( b=a+254 ))
cut -c $a-$b fichier >> resu
done

Je n'ai pas testé, mais tu vois l'idée ?

Reply
réponses:
  • lapiel

    for i in $(< fichier); do ((++n%255)) && fmt=' ' || fmt='\n'; rslt="$rslt$i$fmt"; done
    echo -e "$rslt"

  • Char Snipeur

    trouver purement par hasard : fold - wrap each input line to fit in specified width
    Voilà, me doutait bien qu'il existait une commande simple

  • lapiel

    fold
    "découpe" en fonction du nombre de colonnes, mais une colonne telle que la conçoit le terminal, c'est-à-dire ± un caractère. :(

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

ça a marché avec :

sed -r 's/.{2805}/&\n/g' input.txt > output.txt

2805 le nombre d'espaces.

mon fichier input :
MotEspaceMotEspace ......Mot
taille du Mot : 10 Espaces

Merci à tous.

Reply
réponses:
  • lapiel

    taille du mot : 10 caractères.

    tu pourrais donc, alors, utiliser

    fold
    avec 255*11-1, soit 255 fois (10 caractères + 1 espace) - 1 espace
    ...
    ?

  • kalifi

    je viens de l'essayer ça marche également avec fold :

    fold -w 2805 input.txt > output.txt

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed