Lire l'avant dernière ligne puis la dernière ligne d'un fichier
Résolu
thierryR51
Messages postés
139
Date d'inscription
Statut
Membre
Dernière intervention
-
thierryR51 Messages postés 139 Date d'inscription Statut Membre Dernière intervention -
thierryR51 Messages postés 139 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Afficher avant derniere ligne fichier linux
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
salut,
également en bash,
également en bash,
fichier=TonFichier
{ read origine; read commande;} < <(sed -e '$!{h;d;}' -e '$H;x' $fichier)
echo "$origine"
echo "$commande"
Salut,
Ou dans un tableau ;-)
Ou dans un tableau ;-)
$ cat fich
Bonjour,
Je voudrais lire un message envoyé (par mail) par un script de ma fabrication
L'avant derniere ligne me donne l'origine du message
La derniere est une commande.
$ mapfile -O 1 -t tab fich
$ echo ${tab[1]}
L'avant derniere ligne me donne l'origine du message
$ echo ${tab[2]}
La derniere est une commande.
hmm, il y a un problème dans ta commande.
tu as peut-être fait d'autres essais qui auront conservés la trace d'un tableau précédent, parce que telle quelle la commande ne peut pas fonctionner.
tu as peut-être fait d'autres essais qui auront conservés la trace d'un tableau précédent, parce que telle quelle la commande ne peut pas fonctionner.
$ mapfile -t tab <"$fichier"
$ echo "${tab[-2]}"
L'avant derniere ligne me donne l'origine du message
$ echo "${tab[-1]}"
La derniere est une commande.
C'est super zipe31. Ça fonctionne à merveille. Je ne comprends pas tous ces <<< mais ça marche.
Je ne comprends pas tous ces <<< mais ça marche.
man bash (Redirection)
Here Strings
A variant of here documents, the format is:
<<<word
The word undergoes brace expansion, tilde expansion, parameter and
variable expansion, command substitution, arithmetic expansion, and
quote removal. Pathname expansion and word splitting are not per‐
formed. The result is supplied as a single string to the command on
its standard input.