this post was submitted on 07 Aug 2025
18 points (100.0% liked)

Forum Libre

1147 readers
23 users here now

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/

founded 2 years ago
MODERATORS
 

Envie de poster une question technique sur du matériel ou du logiciel ?
Allez, viens !

you are viewing a single comment's thread
view the rest of the comments
[–] truite@jlai.lu 2 points 1 month ago (1 children)

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 :)

[–] Professeur_Falken@jlai.lu 1 points 1 month ago (1 children)

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).

[–] truite@jlai.lu 2 points 1 month ago (1 children)

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é.

[–] Professeur_Falken@jlai.lu 2 points 1 month ago (1 children)

Testé chez moi. Fonctionnel.
Pour du docx :
for doc in *.docx;do libreoffice --headless --convert-to odt "${doc}";done

[–] truite@jlai.lu 2 points 1 month ago (2 children)

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.

[–] Professeur_Falken@jlai.lu 2 points 1 month ago* (last edited 1 month ago)

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.

[–] Professeur_Falken@jlai.lu 1 points 1 month ago* (last edited 1 month ago) (1 children)

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.

[–] truite@jlai.lu 1 points 1 month ago (1 children)

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).

[–] Professeur_Falken@jlai.lu 1 points 1 month ago* (last edited 1 month ago)

# 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)