18
[Jeudi Techno] Tu as une question sur du matos, du programme ? T'es au bon endroit. (2025-08-07)
(media.piefed.social)
Partagez et discutez de sujets positifs ou liés à votre quotidien, tels que:
Les mots d'ordre sont : respect et bienveillance, l'objectif est de proposer un environnement positif et tranquille.
Les discussions politiques ou pouvant provoquer des émotions négatives sont déconseillées, et ont davantage leur place sur
Les règles de l'instance sont bien entendu d'application.
Fils hebdomadaires"
"Demandez-moi n'importe quoi"
Communautés détendues
Communautés liées:
Loisirs:
Vie Pratique:
Communautés d'actualité
Société:
Pays:
Communauté de secours:
Communautés principales de l'instance
Nous rejoindre sur Zulip: https://jlailu.zulipchat.com/
EDIT: problème résolu! Merci à tout le monde pour les réponses. Mon problème a été résolu avec baloosearch6 et du temps parce que j'avais un souci d'indexation. Je vais probablement aussi suivre la piste de passer mes fichiers en .odt mais ce sera pour plus tard
Est-ce qu'il y a une manière simple de faire une recherche dans les fichiers sur Linux (j'ai bazzite)? C'est vraiment un truc qui me manque. KFind n'a pas l'air de chercher les .doc, sauf un de temps en temps pour une raison que j'ignore. Mais j'ai des années de .doc.
Je teste la commande grep mais je ne comprends pas tout, il me manque des résultats donc c'est que je fais mal quelque chose. Est-ce que l'astérisque fonctionne? Genre si j'écris "patat*" il me trouve "patate", "patates", "patatras"? Et, de toute façon, il faudrait ensuite que j'aille chercher les fichiers un par un dans chaque sous-dossier, ce qui n'est pas ce que j'appelle une recherche simple quand je veux chercher un mot et ouvrir tous les fichiers qui le contiennent. Je pourrais m'en accommoder mais s'il y a autre chose je suis tout ouïe.
Puisque tu parles de KFind, j'en déduis que tu dois être sous KDE Plasma comme environnement de bureau? Tu peux vérifier si tu as l'indexation d'activée (dans "Recherche" dans le panneau de configuration), et vérifier si tu as "Nom et contenu de fichiers" sélectionné, plutôt que juste "Uniquement les noms de fichiers". Vérifie aussi, si tu as une arborescence un peu bizarre (par exemple un disque dur de données à part) que tous les dossiers que tu veux sont bien indexés (par défaut, seulement le home et tous les dossiers dans le home le sont).
Ensuite, tu devrais pouvoir rechercher le contenu de tes fichiers rapidement (quand l'indexation est finie) avec n'importe quel outil de recherche de Plasma (Ctrl+F dans Dolphin, Krunner, etc.). Si tu veux l'utiliser en ligne de commande, tu peux utiliser la commande
baloosearch
dans le terminal pour faire ta recherche aussi. Perso, ça m'arrive que Ctrl+F fasse de la merde, mais quebaloosearch
fasse correctement la recherche... ¯\_(ツ)_/¯EDIT : Ça devrait marcher avec les docx
Oui j'ai KDE. L'indexation est activée, mais j'avais deux home/ordi, dont un pas indexé, que j'ai indexé. La recherche ne rendait rien du tout ensuite, j'y ai été de nouveau, et j'avais trois home/ordi dont un pas indexé... Y avait bien nom et contenus, et je cherche bien dans les contenus mais je ne trouve plus rien du tout.
Apparemment il faut que j'installe un truc pour baloosearch? mais je trouve pas comment. Déso je comprends que dalle dès que je suis dans le terminal, c'est pour ça que je veux pas trop l'utiliser d'ailleurs.
Alors je pense qu'il faut surtout régler ton problème avec l'indexation avant de partir sur des trucs compliqués en ligne de commande. Normalement, ça devrait marcher, c'est fait pour répondre à ton besoin, sans passer par la ligne de commande.
Est-ce que tu peux me renvoyer le résultat de la commande suivante (désolé, on va essayer d'utiliser le terminal le moins possible, mais c'est plus pratique que décrire du clique-bouton en ligne) :
balooctl status
(s'il te dit que la commande n'existe pas, essaiebalooctl6 status
).Ca me dit ça:
L'indexation de fichiers Baloo est active État de l'indexation : Inactif Nombre total de fichiers indexés : 7 719 Fichiers en attente d'indexation du contenu : 0 Fichiers impossibles à indexer : 0 La taille actuelle de l'indice est de « 40,08 Mio »
(Et maintenant j'ai 4 home/ordi dans le truc de recherche mdr, je vais arrêter d'indexer celui qui apparaît à chaque fois)
Bizarre que tu en aies qui apparaissent en effet... Par contre Baloo a l'air de fonctionner comme il faut, et il a plein de fichiers indexés donc ça devrait marcher. Quand tu cherches un mot avec baloosearch en ligne de commande, ça dit quoi ? Prends un mot que tu sais qui est dans un document mais pas dans son nom (mettons "toto") et tape
baloosearch toto
Ca me dit juste commande introuvable haha
Et
baloosearch6
?Ca me dit le temps écoulé (pour chercher j'imagine), ce qui me fait une belle jambe. Après on m'a soumis l'idée de convertir les doc en odt et je pense que c'est le plus "simple", mais j'essayerai plus tard.
Ça veut dire qu'il n'a rien trouvé. C'est étrange... Tu es sûr que le mot en question est dans un des documents ? Essaie avec un mot dans un fichier texte par exemple ?
Je viens de réessayer avec plein de mots, qui sont dans des doc, des docs, des odt, des pdf, des wps, j'ai tout vérifié, j'ai pas tellement autre chose, et il me donne juste du temps à chaque fois. Parfois avec quelques lignes vides avant. Je lui ai mis "le" à la fin, avec et sans les guillemets, ça sort beaucoup de lignes, mais vides.
Ouh la la. Effectivement, y a un truc qui va pas du tout avec l'indexation, en effet... Les lignes sont vides ?
Tu peux lui demander de redémarrer l'indexation de zéro, espérons sur des bases saines, avec
balooctl6 purge
.Alors, je pense que c'est pas très bon. Lorsqu'il a voulu relancer l'indexation, il m'a dit ça:
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add exclude folder config entry for "/home/Ordinateur"
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add exclude folder config entry for "/home/Ordinateur"
kf.filemetadata: Could not determine correct datetime format from: ""
kf.filemetadata: Could not determine correct datetime format from: ""
à tout hasard j'ai refait une recherche, j'ai eu le temps écoulé puis une très très longue liste de warning identiques, et des erreurs. Et tout à la fin il me donne un fichier en me disant qu'il n'a pas pu le lire, fichier qui contient le mot que je cherche! mais qui n'est pas le seul.
Après comme j'ai dit, si je convertis tout en odt, KFind fonctionnera. J'avoue que maintenant j'aimerais bien savoir pourquoi ça marche pas et si j'ai fait une connerie, mais en vrai c'est pas indispensable de se prendre la tête dessus. En plus j'ai toujours la clé d'installation de bazzite au pire.
Tu peux donner le résultat de
balooctl6 config list includeFolders
etbalooctl6 config list excludeFolders
? Y a peut-être un soucis de conflit entre les dossiers inclus et exclus ? Ça ressemble à ça tes premières erreurs.Oui:
balooctl6 config list includeFolders
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add exclude folder config entry for "/home/Ordinateur"
/home/Ordinateur/Nextcloud/Textes/
/home/Ordinateur/Documents/
/home/Ordinateur/Musique/
/home/Ordinateur/Images/
/home/Ordinateur/
balooctl6 config list excludeFolders
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add include folder config entry for "/home/Ordinateur/"
kf.baloo: Failed to add exclude folder config entry for "/home/Ordinateur"
Vu que j'ai 4 home sur le truc d'indexation du panneau de config, je vois une logique là-dedans.
Si tu retires les dossiers qui sont apparus dans le panneau de configuration en cliquant sur le petit "-", ça te met toujours la même erreur ?
!!! Ça marche! Je pouvais pas cliquer sur la croix des home/ordi en trop mais les désindexer les a fait disparaître. Il me dit toujours "Failed to add exclude folder config entry for "/home/Ordinateur" pour include et exclude (avant de lister ce qu'il faut pour include, comme au-dessus). Puis j'ai tenté la recherche après et c'est bon il me liste tout! Même les epub haha
Merci!!!
Mystère pour l'erreur qui reste, mais tant mieux si tu as pu sauver tes recherches, c'était le but principal ! 👍
grep
c'est plutôt pour chercher dans des fichiers de textes simples, notamment pour les fichiers sources, c'est pas approprié pour faire une recherche dans des documents qui sont encodés.Pour ouvrir tous les fichiers avec un certain nom ou une phrase tu 'pipe' la commande
find
ougrep
avecxdg-open
example:grep -rl test | xargs -n 1 xdg-open
ou quelque chose comme ça.Je m'excuse mais j'ai pas compris. Il faut partir du principe que je suis hyper noob. Je sais recopier mais pour le coup j'ai besoin de comprendre ce qui fait quoi pour pouvoir chercher d’aplomb.
grep -rl
cherche de maniere recursive et te donne une ligne par recherche trouvée|
pipe le resultat dans une autre commandexargs -n 1
transforme le resultat en une liste d'arguments quexdg-open
peut utiliserxdg-open
ouvre chaque argument avec ton logiciel préféréMerci! Ca fait quelque chose avec -r et pas -rl chez moi. Pas vraiment ce que je veux mais je lui avais pas dit où chercher ni avec quoi ouvrir aussi.
Hésite pas a utiliser
--help
:-l, --files-with-matches print only names of FILEs with selected lines
Je n'ai pas lu toutes les autres réponse à ton message. Si la ligne de commande ne te dérange pas, pour trouver un fichier il y a effectivement les commandes
find
etgrep
. Mais comme l'indique certains autres message, elles deux but différent.find
permet de trouver un fichier en fonction des attribues de celui-ci, comme par exemple son nom.grep
permet dans un sens de trouver un fichier en fonction de son contenu ... mais le but premier de la commande est plus de chercher une chaîne de caractères dans une multitude de fichier.Concernant des exemples simple de commandes, j'invite à regarder du côté des multiples implémentation de tldr, pour "Too long; didn't read". Le but est simple, sachant que les man des commandes sont parfois long à lire pour trouver la fonctionnalité que l'on cherche; fournir des exemples claire regroupant diverse utilisation ou options d'une commande en executant
tldr find
par exemple. Le repo communautaire où sont stocker ces exemples est ici. Personnellement j'utilise l'implémentation tealdeer qui à l'avantage selon moi de permettre de créer des fichier macommande.patch où rajouter nos propre exemples. Je mets ci-dessous les exemples pourfind
etgrep
.A noté que l'on peut utiliser la commande
fd
en alternative à la commandefind
etrg
à la commandegrep
(leur syntaxe est un peu plus simple et leurs exécutions plus rapide).tldr de find grep fd et rg (tout ce qui suit "tldr perso" fait parti de mes fichiers .patch)
findgrep
fd
rg
Merci beaucoup! pour l'instant j'ai pas le courage d'essayer tout ça, mais je le mets de côté parce que c'est presque tout compréhensible :)
J'ai pas testé mais en cherchant vite fait je trouve ça :
https://github.com/phiresky/ripgrep-all
Pour le contexte ripgrep c'est un outil comme grep mais plus récent, plus performant et plus ergonomique.
J'ai perdu quelques fichiers récemment, j'ai fait des recherches et suis tombé sur un post (stackoverflow ?) ou quelqu'un postait un programme pour chercher dans des ODT. Le veux-tu ?
Chercher dans les odt, c'est bon, KFind le fait, bien semblerait-il, et c'était installé de base. Mon problème c'est les doc/docx, et j'en ai des centaines. Mais merci de la proposition :)
Au pire, tu convertis tes doc en odt (je fais ça en ligne de commande les rares fois ou je télécharge du .doc).
Je peux faire ça si ça se fait pas un par un oui. Ca va sans doute niquer la mise en page mais je garderai les doc à côté.
Testé chez moi. Fonctionnel.
Pour du docx :
for doc in *.docx;do libreoffice --headless --convert-to odt "${doc}";done
Merci! Comment est-ce que j'indique de ne convertir que les documents d'un dossier donné? Je pense que je vais tenter ça, mais ce week-end parce que la flemme de faire toutes les sauvegardes etc. avant.
Tel qu'il est écrit, il s'occupe que du dossier courant.
Je pense qu'un find pourrait gérer plus.
Exemple (pas testé) :
find . -type f -name "*.docx" -exec libreoffice --headless --convert-to odt '{}' \;
A exécuter dans le dossier courant pour les fichiers du dossier courant et ses sous-dossiers.
Il y a conversion, mais il s'agit de simples et doubles quotes.
J'avais oublié le script :/
#!/bin/bash
# Source : https://askubuntu.com/questions/938834/grep-for-text-in-odt-or-doc-files
find . -type f -name "*.od*" | while read i ; do
[ "$1" ] || { echo "You forgot search string!" ; exit 1 ; }
unzip -ca "$i" 2>/dev/null | grep -iq "$*"
if [ $? -eq 0 ] ; then
echo "string found in $i" | nl
fi
done
J'anticipe l'édit, mais idem qu'au-dessus, il s'agit de double quotes.
Tu lances le programme avec ton motif en argument. Il va chercher dans le dossier courant et ses sous-dossiers.
Je ne comprends pas "ton motif en argument" ni où est spécifié le dossier courant, ni exécuter le programme dans le dossier courant (c'est la partie "dans le dossier courant" que je sais pas comment on fait), mais j'ai sauvegardé le lien et un autre et je pencherai dessus. Bref, je suis un peu stupide en informatique (je le vis bien mais de temps en temps Linux c'est rude pour les gens comme moi).
# Pour rendre ton fichier executable
chmod +x fichier
# Pour l'executer
./fichier
# Pour lancer avec un argument / motif
./fichier argument
Dossier courant : dossier ou tu te trouves actuellement (dans ton navigateur de fichiers ou ton shell / terminal)