[gull] Truc et astuces: Apt search en couleurs dans less
felix
felix at f-hauri.ch
Fri Oct 20 08:53:41 CEST 2023
Re,
En fait, y'a plus simple!
aptSearch () {
script -f /dev/null -c "apt search '$1'" <<<'' |
sed '1d;$d' |
less -r ${2:++/}${2}
}
Rediriger le STDIN de `script` évite que `script` manipule le terminal
et cause des effet bizare genre `stty -echo`, qui supprime l'affichage
des touches tapées... (ce qui nous oblige à taper en aveugle, qqch come
`reset` ou `stty sane`.)
La version précédente utilisait `tac|tac`, puis `read` de la 1ère ligne,
afin d' assurer que la commande `script` soit terminée AVANT que la
commande `less` ne soit executée.
Voire:
$ apt search something 2>&1 <<<''| head
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
En train de trier…
Recherche en texte intégral…
agedu/stable 20211129.8cd63c5-1 amd64
utilitaire Unix pour rechercher l'espace disque gaspillé
alors que:
$ script -f /dev/null -c 'apt search something 2>&1 <<<""'| head
Script démarré, le fichier journal de sortie est « /dev/null ».
En train de trier... Fait
Recherche en texte intégral... Fait
^[[32magedu^[[0m/stable 20211129.8cd63c5-1 amd64
utilitaire Unix pour rechercher l'espace disque gaspillé
Pas de WARNING et les paquets s'affichent en vert!
Le Sat, Sep 23, 2023 at 06:46:48PM +0200, felix via gull a écrit :
> J'ai enfin trouvé une combine pour lire la sortie de apt search
> dans less:
>
> Au lieu de
>
> apt search openvpn | less +/openvpn
>
> qui affiche:
>
> WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
>
> et supprime la colorisation
>
> Ce que j'ai trouvé de plus simple:
>
> script -f /dev/null -c 'apt search openvpn' |
> tac | tac | { read _ && sed \$d |less -r +/openvpn ;}
>
>
> Donc ma fonction:
> aptSearch () {
> script -f /dev/null -c "apt search '$1'" |
> tac | tac | { read _ && sed \$d | less -r ${2:++/}${2} ;}
> }
>
> Le premier argument est passé à `apt search`, tandis que le second
> est facultatif, passé a `less` avec ``+/'' si fourni.
--
Félix
More information about the gull
mailing list