40 votes

Comment faire en sorte que bash ne coupe pas la sortie ?

Chaque fois qu'une commande génère des lignes longues en sortie ( par exemple, lorsque ls -l un dossier contenant des fichiers avec des noms longs ), les lignes longues sont enveloppées sur la ligne suivante, perturbant ainsi la structure en colonnes.

Y a-t-il un moyen d'éviter cela ? Quelque chose de similaire à l'option 'nowrap' de vim ?


mise à jour

J'ai remarqué un problème avec la réponse acceptée :
si je crée un alias comme : alias ll="tput rmam; ls -l; tput smam"
et ensuite j'essaie de filtrer sa sortie: ll | grep foo
il affichera toujours tous les fichiers, comme sans le grep.

La solution que j'ai trouvée est d'encadrer tout l'alias entre parenthèses :
alias ll="(tput rmam; ls -l; tput smam)"

1voto

Firas Assaad Points 10339

Essayez ceci

function nowrap { export COLS=`tput cols` ; cut -c-$COLS ; unset COLS ; echo -ne "\e[0m" ; }

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X