• # Avec echo

    Posté par . En réponse au message Couper une chaîne de caractère en deux. Évalué à 1. Dernière modification le 08 janvier 2013 à 07:32.

    test=machaine!
    echo -e ${test:0:$((${#test}/2))}'\n'${test:$((${#test}/2)):${#test}}
    
    

    Le résultat :

    mach
    aine!
    
    

    Explications :

    test=machaine
    ${#test} # Longueur de la chaine dans la variable 'test' (ici 8)
    $((2+3)) # Permet de faire des opérations dans bash
    ${test:2:3} # Sélectionne une sous-chaine à partir du 2em caractère et de longueur 3 (ici on aura 'cha')
    
    

    EDIT: Toutes mes excuses, je n'avais pas lu les commentaires précédents, la solution de Shift est meilleure que la mienne.