Ceci est une ancienne révision du document !


Trouver et remplacer des informations

Chercher une info dans un tas de log dans un dossier et sortir les résultats dans un fichier à part :

grep -i -e "Recherche" log_NAME*.txt > nomfichier.txt

Mais pour du récursif j'ai pas encore trouvé bien probant. Celle-ci marche mais va chercher dans tous les types de fichiers.

grep -nri "Recherche" > nomfichier.txt

Pour remplacer une chaîne de caractère dans des tas de fichier (ORIGINE) par une autre chaîne de caractère (REMPLACANT) et de façon récursive. Caractère d'échappement \ parfois nécessaire, entre autre devant [ :

find . -type f -exec sed -i 's#ORIGINE#REMPLACANT#g' {} \;

Pour transformer les majuscules en minuscules (grâce à tr) dans les noms de dossier (à faire plusieurs fois pour le récursif ? :

find . -type d|while read d; do mv $d `echo $d |tr '[:upper:]' '[:lower:]'`; done

Puis dans les noms de fichiers :

find . -type f|while read f; do mv $f `echo $f |tr '[:upper:]' '[:lower:]'`; done

Fichiers trop longs

Dans le cas des fichiers de log trop longs, que grep et les éditeurs de texte n'arrivent plus à lire (erreurs variées), on découpe le fichier en plusieurs morceaux.

On créé un dossier où mettre les morceaux, puis on coupe toutes les 1000 lignes :

mkdir canal.log.d 
split -l 10000 \#canal.log canal.log.d/part.
CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/recherche.1507031838.txt.gz · Dernière modification : 30/11/2020 10:35 (modification externe)