Introduction

Partie 5

Chercher, sélectionner et transformer sans ouvrir chaque fichier

La recherche devient une manière de raisonner sur un projet, pas seulement de naviguer plus vite.

Chercher, c’est poser une question au projet

Décrivez nom, texte, type ou chemin de départ. Dans un projet inconnu, des questions de plus en plus précises construisent une carte factuelle.

Préparez un petit espace sûr

Créez le fichier d’exemple, copiez-le puis changez alpha en beta dans la copie. Une réponse connue permet de vérifier la commande sans ambiguïté.

Commencez le fichier ainsi
project=alpha
status=draft
owner=Max
note=rename images before release
install md code copy find replace stat attr
cd lil-playground
md project/search
code project/search/notes.txt -n
copy project/search/notes.txt project/search/notes-2.txt
replace alpha beta project/search/notes-2.txt -w

Nom et contenu sont deux dimensions

-f cherche les noms, -t le texte. Chemin, extension et casse définissent les limites de la question.

find notes -f -p project/search
find draft -t -p project/search
find owner -t -e txt -p project/search

Réduisez d’abord le périmètre

Commencez dans le plus petit répertoire possible. Un ensemble de résultats compréhensible vaut mieux qu’une recherche globale difficile à relire.

find project -F -p .
find status -t -h -p project/search
find Max -t -c -p project/search

Un remplacement massif commence par une prévisualisation

replace n’écrit rien par défaut. Vérifiez les occurrences avant -w et utilisez -b si des sauvegardes sont utiles.

replace draft reviewed project/search -r -e txt
replace draft reviewed project/search -r -e txt -w -b
find reviewed -t -p project/search

Les métadonnées sont aussi des preuves

stat et attr confirment taille, MIME, dimensions et autres propriétés pour valider le bon objet.

stat project/search/notes.txt
attr project/search/notes.txt size
attr project/search/notes.txt mime

Une transformation vérifiée devient une petite technologie

Conservez recherche, prelecture, écriture et contrôle dans un .lil : la valeur se trouve dans la procédure comprise et reproductible.

Conservez ceci comme script

Enregistrez le bloc sous review-status.lil après avoir contrôlé la prévisualisation.

#lil
@install find replace stat attr
cd lil-playground
find draft -t -p project/search
replace draft reviewed project/search -r -e txt
replace draft reviewed project/search -r -e txt -w -b
find reviewed -t -p project/search
stat project/search/notes.txt