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.