Linux bash type de redirection selon la condition
Résolu
mortel
-
mortel -
mortel -
Bonjour,
Je fais un script en bash sous linux et je voudrais rediriger la sortie par > ou >> selon une condition. genre
while read line
do
blabla
si condition
redirect=">"
sinon
redirect=">>"
blabla
blabla
blabla
echo tototo redirect file1
blabla
cat fileA redirect file1
blabla
blabla
blabla
echo tititi redirect file1
blabla
blabla
cat fileB redirect file1
blabla
done
y a t il un moyen de faire comme ceci sans etre trop compliqué ?
Merci
Je fais un script en bash sous linux et je voudrais rediriger la sortie par > ou >> selon une condition. genre
while read line
do
blabla
si condition
redirect=">"
sinon
redirect=">>"
blabla
blabla
blabla
echo tototo redirect file1
blabla
cat fileA redirect file1
blabla
blabla
blabla
echo tititi redirect file1
blabla
blabla
cat fileB redirect file1
blabla
done
y a t il un moyen de faire comme ceci sans etre trop compliqué ?
Merci
Configuration: Windows / Firefox 68.0
3 réponses
-
Hello,
Je pense que ça doit vite étre chiant a gérer dans le code si il doit faire un if sur chaque commande.
Je pense a tee comme ça :APPEND=true
if [[ $APPEND == "true" ]]
then
teeOpt="-a"
else
teeOpt=""
fi
echo "Ma super commande" | tee $teeOpt monfichier > /dev/null
echo "Ma super commande2" | tee $teeOpt monfichier > /dev/null
echo "Ma super commande3" | tee $teeOpt monfichier > /dev/null
echo "Ma super commande4" | tee $teeOpt monfichier > /dev/null
Aprés, je suis pas sur que ça soit vraiment ce que tu attendes @mortel.
J'imagine que tu souhaites dans tout les cas retrouver l'output de l'enssemble de tes commandes dans fichier1.
Et plutot jouer avec le reset du fichier ...
si condition
echo -n > file1
while read line
do
blabla
blabla
blabla
blabla
echo tototo >> file1
blabla
cat fileA >> file1
blabla
blabla
blabla
echo tititi >> file1
blabla
blabla
cat fileB >> file1
blabla
done
A plus :) -
Salut,
si condition
Où est le problème ???
redirect=">"
sinon
redirect=">>"
if [ condition1 ]
then commande > f1
else commande >> f2
fi
-
tout à fait, comme le dit Exileur, la solution de zipe31 c'est chiant à faire sur TOUTES les lignes où je redirige la sortie vers un fichier vers un fichier.
S'il n'y a que 3/4 lignes par-ci par-là c'est gerable, mais s'il y a plus ~50 lignes reparties un peu partout,c'est chiant.