Je n'ai jamais trouvé de commande pour "grep" les "petites lignes". Je veux dire, souvent on cherche quelques chose dans du code avec "grep -r" ou "ripgrep". Seulement, il y a toujours du code minimisé pour ressortir un/des gros pavé qui nous pourrissent la sortie (Typiquement javascript, il y a les lib js). Parfois ces gros pavés saturent le terminal si bien que même avec de la bonne volonté on ne peut pas retrouvé (on peut renvoyer dans un fichier, mais bon). Du coup j'ai fait un script que je pipe à mon grep:
rg ChatMessage .| ~/scripts-utils/utils/grepLittleLine.sh
#!/bin/bash while read line; do if [[ `echo "$line" | wc -c` -lt 1300 ]]; then echo $line fi done
# ou
Posté par frayd . Évalué à 2 (+1/-0).
[^] # Re: ou
Posté par Benoît Sibaud (site web personnel) . Évalué à 3 (+0/-0).
ça manque d'un peu de protection autour du REPLY.
# awk
Posté par gUI (Mastodon) . Évalué à 8 (+5/-0).
en
awkc'est assez facile:awk 'length < 1300'En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# grep sait le faire
Posté par wismerhill . Évalué à 3 (+1/-0).
Il faut juste utiliser les expressions rationnelles:
Par contre, les performances sont désastreuses. Ça fonctionne pour 20 ou 30 caractères, mais l'exemple précédent avec awk est bien plus robuste et efficace.
Au passage, si tu utilise explicitement bash, tu peux utiliser la syntaxe
${#line}pour avoir le nombre de caractères dans la variable, ce sera déjà beaucoup plus rapide que de lancer un wc pour chaque ligne.[^] # Re: grep sait le faire
Posté par MicP . Évalué à 3 (+2/-0). Dernière modification le 15 mars 2026 à 13:32.
Bonjour
D'un autre côté, si c'est juste pour faire des recherches,
lesspeut très bien le faire et en utilisant la même regex pour cacher les lignes trop longues.Par exemple :
Tapez ensuite
-Spour basculer entre le mode "retour à la ligne automatique" ou non => s'il y a des lignes trop longues pour être affichées dans la fenêtre, elles seront tronquées ou pas.Tapez sur
&et entrez la regex^.{,1300}$pour cacher les lignes qui contiendraient 1300 ou plus de caractères.Sur la ligne du bas vous verrez s'afficher :
&/^.{1300}$Vous pourrez aussi rechercher un motif en tapant d'abord sur
/et en entrant ensuite le motif à rechercher.Tapez sur
hpour pouvoir lire l'aide en ligne du pagerlessComme le pager
lessest utilisé (par défaut sur debian) pour afficher la sortie de beaucoup de commandes (journalctl, man, …) c'est un très bon investissement d'apprendre à utiliser ses fonctionnalités de base.… et dans ce royaume, ceux qui y voient un peu plus clair sont parfois très mal vus.
[^] # Re: grep sait le faire
Posté par abriotde (site web personnel, Mastodon) . Évalué à 2 (+0/-0). Dernière modification le 19 mars 2026 à 15:51.
C'est pour faire des recherche sur un répertoire. C'est la que j'ai des fichiers js minimifié qui me pourrissent la sortie (et qui évidemment contienne a peu près toutes les expression). Typiquement dans un projet, tu sais que la variable "email" a été utilisé dans une expression que tu aimerai réutilisé. Tu cherche l'exemple.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: grep sait le faire
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2 (+0/-0).
Si tu sais que ce sont les
.jsqui vont te pourrir la vie, pourquoi ne pas faire quelque chose commeMoi, j’aime utiliser un motif assez précis (chercher
email=n’est pas pareil que chercheremailer) et n’afficher que les noms des fichiers…“It is seldom that liberty of any kind is lost all at once.” ― David Hume
# sinon
Posté par Nicolas (site web personnel) . Évalué à 3 (+2/-0). Dernière modification le 16 mars 2026 à 08:07.
Y'a bien un séparateur d'instruction dans tes langages ?
La lecture ligne à ligne de fichiers en shell c'est à éviter autant que possible.
# cut
Posté par fearan . Évalué à 3 (+0/-0).
perso j'utilise | cut -c1-140,
ça tronque les lignes a 140 caractères, y'a rarement des truc intéressant au delà
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: cut
Posté par octane . Évalué à 2 (+0/-0).
dans un fichier minifié, tout est dans une seule ligne, et tu veux justement savoir s'il y a le truc qui t'intéresse.
[^] # Re: cut
Posté par fearan . Évalué à 3 (+0/-0).
ben justement les autres solutions évincent complètement la ligne silencieusement, celle ci permet de voir qu'on a une touche sur une ligne trop longue, ce qui permet, ensuite si le reste ne donne pas satisfaction de travailler la ligne (avec un déminifieur par exemple)
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: cut
Posté par abriotde (site web personnel, Mastodon) . Évalué à 2 (+0/-0).
tu peux faire :
Ainsi tu garde la coloration et tu a viré les fichier minifiés (ce ne sera pas dans les 140 premier caractères)$ grep -r toto | cut -c1-140 | grep toto
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: cut
Posté par abriotde (site web personnel, Mastodon) . Évalué à 2 (+0/-0).
Oui c'est une alternative qui me plait.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.