Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-01-2014 13:16:52

Slyfox
Membre
Lieu : Pays du chocolat
Distrib. : GNU/Linux Debian Sid
Noyau : Linux 4.7.0-1-amd64
(G)UI : MATE
Inscription : 15-12-2013

Bash, retour sur une ligne, problème d'espace

Bonjour smile

Voilà un script :

#! /bin/bash

info="Numero: 01 Nom: Jean Age: 22 Langue: English
Numero: 01 Nom: Jean Age: 22 Langue: Anglais
Numero: 02 Nom: Claude Age: 26 Langue: Francais
Numero: 03 Nom: Pierre Age: 53 Langue: Francais"


boucle=$(for i in 01 02 03; do
               num=$(echo "$info" | awk '{if ($2=='$i') {print $2}}' | sort -u)
               nom=$(echo "$info" | awk '{if ($2=='$i') {print $4}}' | sort -u)
               echo "TRUE Numero: "$num" Nom: "$nom"|"
        done)

echo
echo "$boucle"
echo
echo "$boucle" | xargs -n 100
echo
echo "$boucle" | sed '{:a;$!N;s_\n_ _;ta}'



Voilà ce que ça me retourne...

Avec echo "$boucle"

TRUE Numero: 01 Nom: Jean|
TRUE Numero: 02 Nom: Claude|
TRUE Numero: 03 Nom: Pierre|



Avec echo "$boucle" | xargs -n 100

TRUE Numero: 01 Nom: Jean| TRUE Numero: 02 Nom: Claude| TRUE Numero: 03 Nom: Pierre|



Avec echo "$boucle" | sed '{:a;$!N;s_\n_ _;ta}'

TRUE Numero: 01 Nom: Jean| TRUE Numero: 02 Nom: Claude| TRUE Numero: 03 Nom: Pierre|




J'aimerais comprendre pourquoi avec "echo "$boucle" | xargs -n 100" et "echo "$boucle" | sed '{:a;$!N;s_\n_ _;ta}'"  pourquoi j'ai un espace après le | de  "| TRUE"

NB:
Si il y a une autre solution de me retourner le résultat de "$boucle" sur une ligne je suis bien sûr preneur ! big_smile

Amicalement Slyfox

Hors ligne

Pied de page des forums