[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ergonomie/lisibilité en CLI



salut,

> Envoyer dans un pipe nommé la sortie et lire celle-ci avec une autre console.

je n'ai pas d'outils tout fait mais c'est justement à mes yeux la force
d'unix. testé avec tmux+zsh:

outthere/new () {

    # créer des fichiers out et err
    touch /tmp/$$.{err,out}

    # demander a tmux de splitter la fenêtre
    # (a adapter si tu veux créer d'autres fenêtre)
    # perso je préfère spliter et utiliser c-bz pour passer en
    # fullscreen
    tmux split  tail -fn0 /tmp/$$.err \;\
        split tail -fn0 /tmp/$$.out \;\
        select-pane -t $TMUX_PANE

}

# outthere execute une commande en redirigant les std vers les bons
# fichiers
outthere () "$@" >/tmp/$$.out 2>/tmp/$$.err

# ce qui à l'usage nous donne

outthere grep -RF root /etc/*

voilà :) tu n'as plus qu'a claquer tout ca dans ton ~/.zshrc.

> Oui, less me sert souvent ("less is more" mais more ne l'est pas).

j'utilise peu less et more: mon pager de choix c'est vim (parceque
tellement pratique et extensible... tu peux écrire facilement des syntax
highlight ou des extensions et naviguer facilement dans les fichiers
avec gF):

grep -RFni root /etc/* |& v -

> ** >- diriger les messages vers un analyseur pour en extraire ce qui compte (requiert de connaître l'API du programme) 

perso je prépare ma commande dans le shell, ensuite j'appelle fc qui
m'ouvre la dite commande dans vim.

dans vim tu peux piper un range (par defaut .) a une commande unix
et ! est une action que tu peux utiliser en mode normal. !! va donc
filtrer avec une commande a saisir.

    !!zsh

et hop ... tu as le résutat de ta commande.

> En effet, il analyse bien et rend les logs plus digestes.

perso j'aime bien filtrer interactivement dans vim:

* voir ce que tu cherches:

    :set hlsearch incsearch

* pour executer une action sur le dernier motif trouvé, il suffit de ne
  pas mettre de pattern dans la partie recherche. donc

  :g##d supprime toute les lignes qui contiennent un motif
  :v##d supprime toute les lignes qui le ne contiennent pas

  * u pour revenir a l'état précédent
  * * pour selectionner le mot sur lequel tu es
  * q/ pour éditer le motif dans un buffer vim

alors certes je parle de vim mais perso, mes outils préférés sont:

* tilix parceque c'est un terminal joli
* zsh parceque la syntaxe est bien plus évoluée que celle de bash
* tmux parceque ... pour tout plein de raisons
* fzf pour écrire plein de petites commandes interactives avec du fuzzy
  searching. genre voilà comment j'ai remplacé le traditionnel avec
  un truc coloré et qui me permet de fuzzy searcher

  https://github.com/eiro/p6-scripts/blob/master/zsh-plugins/fzf-history-search-backward.zsh

a+
marc


Reply to: