Ne pas cliquer
Parrain-Linux
brille dans la nuit
Écrire un nouveau message
Page : 1
[Résolu] less - more : Sans retour de ligne, how to ?
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 27/09/2016 à 20:33:41
Citer

Édit : L'option -S de less permet ça. Pour more ça ne semble pas possible.

------------------

Bonjour :)

Je suis sur Arch (ça peut avoir une incidence, j'avais pas eu ce tracas sur Ubuntu)
Un truc qui me rend chèvre (sans parvenir à trouver l'info sur le net) aussi je me tourne vers vous :)

Lorsque je pipe un truc dans less ou dans more, les longues lignes sont coupées à la largeur d'écran. Autrement dit l'affichage impose un retour de ligne.
(L'option -f de more est supposée couper la ligne et supprimer ce qui sort de l'écran, sauf qu'elle ne marche pas. Elle est sans effet chez moi.)

Ça stress par-ce que je déteste un max les retours de lignes comme ça.
Et ça pose des soucis de visualisation d'un tas de choses.

À noter que par ex. iptables -L va être rendu avec retours de lignes, les logs aussi (Je crois savoir au passage que journalctl utilise less), etc.
Ce qui pose le même souci.


→ Je voudrais pouvoir obtenir 1 ligne aussi longue que le contenu l'impose, à faire défiler vers la droite avec la flèche de droite (inversement ensuite).
En gros j'aimerais bien connaître toutes vos bonnes astuces & solutions pour y parvenir.


Mes connaissances étant limitées, je ne sais même pas où je peux trouver ce genre de réglages pour les virer ad vitam.
Je me dis juste n'être certainement pas le seul mec au monde totalement emmerdé par ces retours de ligne :)


Édit : Précisions, parlant de lignes longues dépassant la largeur écran du terminal.

Dernière édition le 28/09/2016 à 12:20:22
Remonter Descendre Permalien du message
Avatar
linette
modérateur
Mixte
Inscrit le : 21/01/2014
Messages : 498
Point(s) : 3291
Localisation :
Avignon, Vaucluse, France
Posté le 27/09/2016 à 20:46:51
Citer

Salut loufy :)


Pourrais tu poster une commande à tester ainsi que d'autres infos comme par exemple: terminal utilisé, shell utilisé, screenshot?

Voila :)

Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 27/09/2016 à 21:07:54
Citer

Salut Linette :)

En fait ça ne vient pas de xfce-terminal, puisqu'un simple cat sur un fichier contenant de longues lignes me les affiche normalement, cad 1 ligne = 1 ligne.
Screenshoot bof, ça s'applique à tout c'est un simple retour de ligne.

Le shell est bash (comme sur ubuntu sans avoir eu ce souci).

Par exemple un iptables -L ou encore n'importe quel log consulté avec journalctl (par ex journalctl -f) sans avoir à piper donc, aura le même défaut.


Je préférerais voir les longues lignes sur 1 seule ligne et décaler à droite pour la suite.

Dernière édition le 27/09/2016 à 21:19:35
Remonter Descendre Permalien du message
Avatar
linette
modérateur
Mixte
Inscrit le : 21/01/2014
Messages : 498
Point(s) : 3291
Localisation :
Avignon, Vaucluse, France
Posté le 27/09/2016 à 21:28:32
Citer

En fait le screenshot etait afin que les perosnnes ne comprenannt pas la demande, car neophytes, puissent quand même visualiser et se rendre compte de ce que l'on peut faire avec le terminal ;)

[EDIT] pour info j'ai le meme comportement sous arch avec xfce4-terminal / xterm et zsh . je n'ai pas le temps de chercher le pourquoi pour essayer de trouver ce soir pourquoi ce comportement mais j'essai d'y penser les jours qui viennent ^_^ (sans garantie de résultats tire-langue)

Dernière édition le 27/09/2016 à 21:50:19
Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 27/09/2016 à 22:05:47
Citer

En fait il se trouve que j'avais jamais remarqué que cat impose aussi un retour de ligne.
Sauf que je cat que des bricoles, je rectifie juste ce que j'avais dit sur le premier post.


L'image explicative / explication aux néophytes :

J'aurais du mal à produire une image parlante, faudrait un montage etc.
Pour expliquer même si tout le monde connaît parfaitement ça sans nécessairement connaître le terme :


Admettons avoir un écran assez large pour y voir une très longue phrase affichée sur 1 unique ligne.

Maintenant affichons cette phrase sur une surface d'affichage moins large (cf. largeur / hauteur) :
On va alors voir la phrase s'écouler jusqu'au bout de la largeur de la zone d'affichage, puis se poursuivre sur la ligne suivante, et ainsi de-suite autant que nécessaire pour que la totalité de la phrase soit affichée.
Ce truc se nomme un retour de ligne (automatique car non publiée par l'auteur de la phrase).


Comme ici sur ce forum - La présente zone de lecture du texte :
Nos phrases une fois qu'elles atteignent la fin de la zone, induisent un retour à la ligne automatique Wink
Si la zone était soit moins large, soit plus large, cette coupe automatique se ferait à ailleurs dans la phrase. Voire ne se ferait pas du tout si l'écran est assez large.


C'est une option parfois confortable pour lire du texte sur le web dans un navigateur, ou dans un pdf etc… c'est en revanche très chiant lorsqu'on a besoin ou qu'on préfère que les lignes longues ne provoquent aucun retour automatique.

Dans ce cas, nous ferions défiler la page vers la droite, comme ça arrive parfois sur le web, parfois des documents, etc.
En somme on sait le faire défiler verticalement, c'est aussi basique et simple horizontalement.


Ma question est comment supprimer le retour de ligne automatique quand on utilise less ou more, qui sont des petit programmes d'affichage de texte justement.
En vrai j'aimerais bien le virer partout Très content Dans journalctl et globalement n'importe quel truc affiché qui m'impose ces retours de ligne.

Dernière édition le 27/09/2016 à 22:09:31
Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 27/09/2016 à 22:08:52
Citer

Merci Linette SourireLe plus parlant encore c'est iptables -L qui normalement ne devrait pas couper les lignes ou bien sur Ubuntu il est fait en sorte que ça ne soit pas le cas.

Dernière édition le 27/09/2016 à 22:12:51
Remonter Descendre Permalien du message
Avatar
H2L29
utilisateur
Parrain
Inscrit le : 11/03/2015
Messages : 357
Point(s) : 9295
Distribution : Debian
Localisation :
Brest, Finistère, France
Posté le 28/09/2016 à 03:45:11
Citer

salut Winkj'ai parcouru le man et l'option que tu cherche est -S

Citation:
       -S or --chop-long-lines
              Causes  lines  longer than the screen width to be chopped (truncated) rather than wrapped.  That is, the portion of a long line that does not fit in the screen width is not shown.  The default is to wrap long lines; that is, display the remainder on the
              next line.
et pour le fichier de conf y en a pas pour less tu met directement ta conf dans ton bashrc profile ou autre :)

perso me suis fait un alias
Code:
alias les='LESS="-MNR" LESSOPEN="|pygmentize -g %s" less'

_________________
http://www.parrain-linux.com/promotion.php?image=PL-user.png&membre=H2L29
http://h2l29.pagesperso-orange.fr/images/GIF001.GIF
pas d'aide par MP utilisez le forum c'est fait pour ça http://www.parrain-linux.com/images/emoticones/kopete020.gif
Remonter Descendre Permalien du message
Avatar
magnux77
utilisateur
Parrain
Inscrit le : 03/12/2011
Messages : 118
Point(s) : 631
Distribution : Mageia
Localisation :
Champs-sur-Marne, Seine-et-Marne, France
Posté le 28/09/2016 à 10:27:02
Citer

1° more et less sont des pagineurs dans lesquels il ne faut ni piper in (sauf peut-être quand le more ou le less sont en fin) et ni surtout piper out.

2° cat n'introduit pas de CR, c'est le terminal qui plie les lignes à la largeur de la fenêtre.

3° Le terminal n'est pas forcément le même (quoique) d'une distrib à l'autre, c'est le bash qui est le même.

_________________
Pourquoi se priver quand on peut être libre...
Membre de l'April. Soutien Framasoft.
Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 28/09/2016 à 12:04:13
Citer

Salut :)


@ H2L29 : C'était bien ça. Javais mal compris cette phrase. Sans essayer.


Ça marche aussi pour cat et les journaux système, à condition qu'ils ne soient pas lus en temps réel (option -f de tail, journalctl…)


@ magnux77 :

J'ai pas compris le #1 :)Ça semble pourtant important, serait-ce possible de préciser ou clarifier ce que ça signifie ?


Pour le terminal, je n'en connais pas qui se démarque en n'imposant aucun de retour de ligne (si ça n'est pas explicitement justifié comme une interface en cli).
Je suis preneur si jamais une ref est balancée ici :)

Dernière édition le 28/09/2016 à 12:05:57
Remonter Descendre Permalien du message
Avatar
H2L29
utilisateur
Parrain
Inscrit le : 11/03/2015
Messages : 357
Point(s) : 9295
Distribution : Debian
Localisation :
Brest, Finistère, France
Posté le 28/09/2016 à 14:50:55
Citer

Citation de magnux77:
1° more et less sont des pagineurs dans lesquels il ne faut ni piper in (sauf peut-être quand le more ou le less sont en fin) et ni surtout piper out.


je sais pas comment t'utilise la CLI mais perso piper dans less je le fais pratiquement tout le temps justement parce que ça me permet de paginer sur une sortie un peu longue Très content

Dernière édition le 28/09/2016 à 14:52:55
_________________
http://www.parrain-linux.com/promotion.php?image=PL-user.png&membre=H2L29
http://h2l29.pagesperso-orange.fr/images/GIF001.GIF
pas d'aide par MP utilisez le forum c'est fait pour ça http://www.parrain-linux.com/images/emoticones/kopete020.gif
Remonter Descendre Permalien du message
Avatar
linette
modérateur
Mixte
Inscrit le : 21/01/2014
Messages : 498
Point(s) : 3291
Localisation :
Avignon, Vaucluse, France
Posté le 28/09/2016 à 15:32:00
Citer

J'arrive après la bataille tire-langue En tout cas ca fait plaisir un fil avec autant de participation et d'inforemations réunies Très content

Remonter Descendre Permalien du message
Avatar
magnux77
utilisateur
Parrain
Inscrit le : 03/12/2011
Messages : 118
Point(s) : 631
Distribution : Mageia
Localisation :
Champs-sur-Marne, Seine-et-Marne, France
Posté le 28/09/2016 à 22:47:09
Citer

Citation de magnux77:
1° more et less sont des pagineurs dans lesquels il ne faut ni piper in (sauf peut-être quand le more ou le less sont en fin) et ni surtout piper out.


Je crois que nous sommes d'accord : un more ou un  less en fin d'une série de pipes, pourquoi pas ? Mais, au milieu, avec des pipes derrière, non. Et je pensais au début que c'était ce que faisait notre ami loufy parce que je ne comprenais pas en quoi c'était gênant qu'une ligne soit wrappée en affichage puisqu'elle ne l'est pas en dur. Je ne comprends toujours pas d'ailleurs en quoi c'est gênant.

Enfin, le terminal impose sa largeur en colonnes aux lignes qui s'y affichent. Le terminal ne se reconfigure pas en largeur selon les lignes qu'il doit afficher, la fenêtre de terminal ne possède pas d'ascenceur horizontal.

_________________
Pourquoi se priver quand on peut être libre...
Membre de l'April. Soutien Framasoft.
Remonter Descendre Permalien du message
Avatar
H2L29
utilisateur
Parrain
Inscrit le : 11/03/2015
Messages : 357
Point(s) : 9295
Distribution : Debian
Localisation :
Brest, Finistère, France
Posté le 29/09/2016 à 00:58:13
Citer

Citation de magnux77:
Mais, au milieu, avec des pipes derrière, non.


t'a bien regardé mon exemple en alias? less est pipé par pygmentize pour fournir la couleur dans la sortie, alors oui less est plutôt placé vers la fin, c'est logique mais attention, ce n'est pas aussi rigide que tu semble l'être (oups m'a échappé)

Citation de magnux77:
en dur. Je ne comprends toujours pas d'ailleurs en quoi c'est gênant.


bizarrement moi qui n'en ai pas l'utilité (j'ai quand même dû parcourir le man pour trouver l'option) j'en comprend le besoin

Citation de magnux77:
Enfin, le terminal impose sa largeur en colonnes aux lignes qui s'y affichent. Le terminal ne se reconfigure pas en largeur selon les lignes qu'il doit afficher, la fenêtre de terminal ne possède pas d'ascenceur horizontal.


détrompe toi, c'est tout à fait possible qu'une commande dise au terminal ouvre toi plus grand (lu dans ce même man d'ailleurs)

_________________
http://www.parrain-linux.com/promotion.php?image=PL-user.png&membre=H2L29
http://h2l29.pagesperso-orange.fr/images/GIF001.GIF
pas d'aide par MP utilisez le forum c'est fait pour ça http://www.parrain-linux.com/images/emoticones/kopete020.gif
Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 29/09/2016 à 11:47:59
Citer

Citation de magnux77:
{⋅⋅⋅} le terminal impose sa largeur en colonnes aux lignes qui s'y affichent. Le terminal ne se reconfigure pas en largeur selon les lignes qu'il doit afficher {⋅⋅⋅}


Certes, la fenêtre n'ira pas s'adapter au contenu, l'inverse eut été fort étonnant :)
Solution partielle : Dans .bashrc, j'imagine cependant que d'autres shell gèrent cela d'une façon ou d'une autre :

Code:
# check the window size after each command and, if necessary, update the values of LINES and COLUMNS.
# En Français :
# Mesure la taille de la fenêtre après chaque commande et, si nécessaire, met à jour les valeurs de LINES et de COLUMNS
shopt -s checkwinsize

Ça sera donc inopérant pour tout ce qui est déjà affiché en terminal (aka resté affiché, plus exactement non-nettoyé).
Que les terminaux ne gèrent pas le défilement horizontal n'est pas une fatalité. C'est juste ainsi !


Pour ce qui est de l'utilité d'avoir 1 ligne visuelle pour 1 ligne logique… question de lisibilité, de visibilité, de clarté des informations affichées.
Depuis le début nous parlons d'affichage.

Doit-on ensuite évaluer de la nécessité d'une présentation vis-à-vis d'une autre, selon les souhaits et les besoins de chacun… c'est pas dit :)


Merci en tout cas pour vos réponses et votre aide :)

Dernière édition le 29/09/2016 à 11:49:26
Remonter Descendre Permalien du message
Écrire un nouveau message
Page : 1
Page générée en 0.1066 seconde(s).