Re: tail

Top Page

Reply to this message
Author: anne.guilde@free.fr
Date:  
To: ML Guilde
Subject: Re: tail
Le 18/06/2018 à 16:19, anne.guilde@??? a écrit :
> Le 18/06/2018 à 13:02, anne.guilde@??? a écrit :
>> bonjour
>>
>> je veux récupérer les 2 dernières lignes d'un fichier
>>
>> tail -2 $fichier
>>
>> Comment mettre chaque ligne récupérée dans une variable différente?
>>
>> Mettre le résultat dans un fichier et lire le fichier mais il y a
>> certainement plus simple...
>
> J'ai ces 2 solutions
>
> # var1=$(tail -2 /tmp/borg/borg_liste | head -n 1); var2=$(tail -1
> /tmp/borg/borg_liste);  echo $var1; echo $var2
> pc-00105.linux-nuts.com-20180616-013926 Sat, 2018-06-16 01:39:27
> pc-00105.linux-nuts.com-20180617-183516 Sun, 2018-06-17 18:35:16
>
> # fichier="/tmp/borg/borg_liste"; lines=(); mapfile -t lines < <(tail -2
> "$fichier"); echo "avant dernière : ${lines[0]}"; echo "dernière :
> ${lines[1]}"
> avant dernière : pc-00105.linux-nuts.com-20180616-013926 Sat, 2018-06-16
> 01:39:27
> dernière : pc-00105.linux-nuts.com-20180617-183516 Sun, 2018-06-17
> 18:35:16
>


Suite j'ai besoin du premier champ de chaque ligne

# var1=$(tail -2 /tmp/borg/borg_liste | head -n 1 | awk '{print $1}');
var2=$(tail -1 /tmp/borg/borg_liste | awk '{print $1}'); echo $var1;
echo $var2
pc-00105.linux-nuts.com-20180616-013926
pc-00105.linux-nuts.com-20180617-183516

# fichier="/tmp/borg/borg_liste"; lines=(); mapfile -t lines < <(tail -2
"$fichier" | awk '{print $1}'); echo "avant dernière : ${lines[0]}";
echo "dernière : ${lines[1]}"
avant dernière : pc-00105.linux-nuts.com-20180616-013926
dernière : pc-00105.linux-nuts.com-20180617-183516

Anne