Comment rediriger la sortie standard
Résolu/Fermé
bheadman
cjean - 13 nov. 2008 à 15:06
- Messages postés
- 105
- Date d'inscription
- samedi 1 septembre 2007
- Statut
- Membre
- Dernière intervention
- 17 septembre 2008
cjean - 13 nov. 2008 à 15:06
A voir également:
- Comment rediriger la sortie standard
- MySQL - Rediriger la sortie standard en console - Conseils pratiques - MySQL
- Comment rediriger la sortie standard ✓ - Forum - Linux / Unix
- Perl - Entrée et sortie standards - Articles
- Flux d'Entrées/Sorties standard - Articles
- [Shell Unix] Redirection et sortie standard ✓ - Forum - Shell
4 réponses
yoogui
11 juil. 2008 à 15:01
- Messages postés
- 2019
- Date d'inscription
- dimanche 23 décembre 2007
- Statut
- Membre
- Dernière intervention
- 13 avril 2011
11 juil. 2008 à 15:01
Surement une réponse stupide mais comme j'ai pas la même approche du problème on sait jamais..
Et si tu enlevais le grep de ton programme pour avoir tout sur le txt...puis filtrer après ?
Et si tu enlevais le grep de ton programme pour avoir tout sur le txt...puis filtrer après ?
bheadman
11 juil. 2008 à 15:10
- Messages postés
- 105
- Date d'inscription
- samedi 1 septembre 2007
- Statut
- Membre
- Dernière intervention
- 17 septembre 2008
11 juil. 2008 à 15:10
mon grep fait partie du script est en est une fonction indispensable, c'est volontairement que je n'ai pas redirigé le sortie std (1 et 2 pour ceux qui suivent :D) et que donc celui-ci affiche son résultat dans le shell.
vioci en exemple le gros du programme, hors mis les déclarations de variable et autre test en tout genre :
while [ ${Line} -lt ${Num_Line} ]
do
User_Path=`nawk -v x=${Line} 'NR == x { print }' ${File_Login}`
echo ${User_Path} | egrep "${User_List}" <<----- ici j'ai omis, volontairement, la chaine "1> /dev/null 2>&1"
retval=$?
if [ $retval != 0 ]
then
echo ${User_Path} >> ${File_temps}
else
User_Ribfou=`echo ${User_Path} | nawk -F":" '{ print $5 |"cut -c1-3" }'`
if [ ${User_Ribfou} != usr ]
then
echo ${User_Path} | sed 's/:'"${User_Ribfou}"'/:usr/g' >> ${File_temps}
fi
fi
Line=`expr ${Line} + 1`
done
vioci en exemple le gros du programme, hors mis les déclarations de variable et autre test en tout genre :
while [ ${Line} -lt ${Num_Line} ]
do
User_Path=`nawk -v x=${Line} 'NR == x { print }' ${File_Login}`
echo ${User_Path} | egrep "${User_List}" <<----- ici j'ai omis, volontairement, la chaine "1> /dev/null 2>&1"
retval=$?
if [ $retval != 0 ]
then
echo ${User_Path} >> ${File_temps}
else
User_Ribfou=`echo ${User_Path} | nawk -F":" '{ print $5 |"cut -c1-3" }'`
if [ ${User_Ribfou} != usr ]
then
echo ${User_Path} | sed 's/:'"${User_Ribfou}"'/:usr/g' >> ${File_temps}
fi
fi
Line=`expr ${Line} + 1`
done
bheadman
11 juil. 2008 à 15:02
- Messages postés
- 105
- Date d'inscription
- samedi 1 septembre 2007
- Statut
- Membre
- Dernière intervention
- 17 septembre 2008
11 juil. 2008 à 15:02
Honte sur moi,
une fois n'est pas coutume ma plume (ou mon clavier) à été plus vif que mon esprit.
Voici la solution à ce pitit problème :
sh -x prog.sh 2> tralala.txt
En réfléchissant 30s (en relisant mon précédent poste) je me suis dit que le "-x" étant un mode débeugue permettant de voir toutes erreurs, il serait fort probable que la sortie std soit la même que pour les erreurs et BINGO.
J'espère au moins que ce petit bout poste serviras à quelqu'un d'autre.
Cdlt.
BHeaDMaN
une fois n'est pas coutume ma plume (ou mon clavier) à été plus vif que mon esprit.
Voici la solution à ce pitit problème :
sh -x prog.sh 2> tralala.txt
En réfléchissant 30s (en relisant mon précédent poste) je me suis dit que le "-x" étant un mode débeugue permettant de voir toutes erreurs, il serait fort probable que la sortie std soit la même que pour les erreurs et BINGO.
J'espère au moins que ce petit bout poste serviras à quelqu'un d'autre.
Cdlt.
BHeaDMaN
11 juil. 2008 à 15:04