Je peux te proposer une solution, c'est un peu cradouille mais ça devrait marcher (je n'ai pas testé)
la_fifo=$(mktemp)
# on crée la copie du fichier dans la FIFO:
mkfifo $la_fifo
tail -f ton_fichier > $la_fifo &
pid_copie=$!
# On compte le nombre de lignes:
readen=0
cat $la_fifo | while read line; do
echo "$line"
readen=$(( $readen + 1 ))
[ $readen -ge $x ] && kill $pid_copie
# en thérorie, la fifo devrait recevoir un End-of-File
done
[^] # Re: je comprend pas...
Posté par Christophe --- . En réponse au message tail qui ne rend pas la main. Évalué à 4.
la_fifo=$(mktemp)
# on crée la copie du fichier dans la FIFO:
mkfifo $la_fifo
tail -f ton_fichier > $la_fifo &
pid_copie=$!
# On compte le nombre de lignes:
readen=0
cat $la_fifo | while read line; do
echo "$line"
readen=$(( $readen + 1 ))
[ $readen -ge $x ] && kill $pid_copie
# en thérorie, la fifo devrait recevoir un End-of-File
done
# on enlève ce qui ne sert plus:
rm $la_fifo