Problèmes et questions sur les environnements graphiques et les applications.
Répondre

Commande pour trouver du texte dans les fichiers

#1Messageil y a 3 ans

Bonjour,

Cela fait plusieurs jours que je suis dessus et je n'arrive pas à trouver la solution.
J'avais il y a un moment un script ou une commande qui m'avait permis de trouver avec l'aide de fzf certaine phrase ou bout de phrase qui pouvait ce trouver dans les fichiers sur le pc.

J'invoque fzf, j'écris ce que je recherche et il va me chercher dans les fichiers si un des fichiers que j'ai contiens cette séquence de lettre ou de chiffre. ( J'avais un aperçu avec --preview sur la droite )

J'ai tester avec ripgrep et Ag mais je n'ai pas réussi à le faire marcher.

Si une personne à une idée car la je sèche.

Merci

Commande pour trouver du texte dans les fichiers

#2Messageil y a 3 ans

bonjour

Tu recherches une commande type ? pas bien compris ce que tu désires...

fzf --preview 'grep "bonjour" {}'
voir "--preview" dans la doc :wink: que tu utilises grep ou toute autre commande ne change rien :saispas:

possible de faire le "grep" (ou rg,find,...) avant fzf:

grep -m1 "bonjour" ./* | sed "s/:/ :/g" | fzf -e -m --preview 'grep -A3 -B3 "bonjour" {1}'

Commande pour trouver du texte dans les fichiers

#3Messageil y a 3 ans

Merci pour ta réponse.

C'est une commande ou un script avec fzf.

Quand je l'appel et que j'écris quelque chose il va chercher dans tout les fichiers du pc ou du home pour trouver ceux qui contienne ce que j'ai écris.
Les fichiers trouver sont écris dans fzf et si je me place dessus j'ai un aperçu du fichier en question.

C'est un peut la même chose que :Ag sous vim sauf que je veux le faire sans être sous vim.

Edit :

https://pix.toile-libre.org/upload/orig ... 329303.png

1 : Je rentre ce que je veux
2 : Liste des fichiers ou ce trouve ce texte
3: Un aperçu de ce même fichier

Commande pour trouver du texte dans les fichiers

#4Messageil y a 3 ans

j'ai édité mon message, donc tu recherches un truc comme mon second code, reste à mettre le regex en paramètre d'une fonction

Commande pour trouver du texte dans les fichiers

#5Messageil y a 3 ans

J'ai mis une capture d'écran d'un exemple sous vim mais je veux pas le faire tourner dans vim

Pour ce qui est de la commande preview c'est juste lui donner des indications comme mediainfo ou less etc

Commande pour trouver du texte dans les fichiers

#6Messageil y a 3 ans

Bon vraiment par hasard j'ai trouver quelque chose de pratiquement pareil ( j'avais le curseur qui avait le placement automatique etc mais ça ira )

#!/bin/bash

##
# Interactive search.
# Usage: `ff` or `ff <folder>`.
#
[[ -n $1 ]] && cd $1 # go to provided folder or noop
RG_DEFAULT_COMMAND="rg -i -l --hidden --no-ignore-vcs"

selected=$(
FZF_DEFAULT_COMMAND="rg --files" fzf \
  -m \
  -e \
  --ansi \
  --phony \
  --reverse \
  --bind "ctrl-a:select-all" \
  --bind "f12:execute-silent:(nvim -b {})" \
  --bind "change:reload:$RG_DEFAULT_COMMAND {q} || true" \
  --preview "rg -i --pretty --context 2 {q} {}" | cut -d":" -f1,2
)

[[ -n $selected ]] && nvim $selected # open multiple files in editor
Répondre