Outils pour utilisateurs

Outils du site


tips_informatiques:linux:shell:fichiers_dossiers:fichiers_dossiers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tips_informatiques:linux:shell:fichiers_dossiers:fichiers_dossiers [2009/06/22 14:30]
nico créée
tips_informatiques:linux:shell:fichiers_dossiers:fichiers_dossiers [2013/09/20 15:52] (Version actuelle)
nico
Ligne 43: Ligne 43:
 </​code>​ </​code>​
  
-Incluant les sous répertoires et n'​affichant que les fichiers contenant le terme "DatabaseAuthenticatorAction":+Incluant les sous répertoires et n'​affichant que les fichiers contenant le terme "monTexte":
  
 <code bash> <code bash>
Ligne 61: Ligne 61:
 </​code>​ </​code>​
  
 +Trouver les fichiers créés/​modifiés depuis 20 jours:
  
 +<code bash>
 +for i in {0..20}; do find . -ctime $i -type f; done
 +</​code>​
 ====== Rechercher un terme dans un fichier ====== ====== Rechercher un terme dans un fichier ======
  
Ligne 86: Ligne 90:
 </​code>​ </​code>​
  
 +__grep récursif sous Unix / Solaris__
 +
 +<code bash>
 +find . -type f -print | xargs grep monTexte
 +</​code>​
  
  
Ligne 206: Ligne 215:
 x = extract, z = gzip, j = bzip2 x = extract, z = gzip, j = bzip2
  
 +__Sous Solaris:__
 +
 +Décompresser une archive tar.gz:
 +
 +<code bash>
 +gtar -zxf nom_du_fichier.tar.gz
 +</​code>​
  
 ====== Synchroniser du contenu entre deux dossiers ====== ====== Synchroniser du contenu entre deux dossiers ======
Ligne 225: Ligne 241:
   * exclut tous les fichiers, sauf ceux du type *.class   * exclut tous les fichiers, sauf ceux du type *.class
  
 +Simuler une mise à jour du balladeur IAUDIO depuis le pc:
 +<code bash>
 +rsync -rvtun --modify-window=1 /​home/​rodn/​Musique/​MUSIC/​ /​media/​IAUDIO/​MUSIC/​
 +rsync -rvtun --modify-window=1 /​media/​IAUDIO/​MUSIC/​ /​home/​rodn/​Musique/​MUSIC/​
 +</​code>​
 +
 +Puis réellement faire la mise à jour:
 +<code bash>
 +rsync -rvtu --modify-window=1 /​home/​rodn/​Musique/​MUSIC/​ /​media/​IAUDIO/​MUSIC/​
 +rsync -rvtu --modify-window=1 /​media/​IAUDIO/​MUSIC/​ /​home/​rodn/​Musique/​MUSIC/​
 +</​code>​
 +//(= sans l'​option n)//
 +
 +//​l'​option --modify-window=1 permet de détecter les différence de temps des fichiers de manière moins précise (defaut = 0), ce qui permet de gérer certains problèmes entre les différents systèmes de fichier//
 +
 +
 +Faire ensuite de même en inversant les chemins (balladeur --> pc)
 +
 +__Copier un dossier contenant des liens symboliques__
 +
 +utiliser l'​option **-a** qui copie le dossier en temps qu'​archive
 +
 +<code bash>
 +rsync -avz /​path/​to/​folder1 /​path/​to/​folder2
 +</​code>​
 +
 +__Problème de l'​heure d'​été/​hiver:​__
 +
 +En fonction du type de filesystem, il peut arriver que certains disques montrent des différences d'une heure entre des fichiers synchronisés après un passage à l'​heure d'​hiver/​d'​été. Dans ce cas, la synchronisation en fonction du temps ne peut plus se faire.
 +
 +Une manière de régler le problème est de mettre à jour les heures des fichiers en utilisant le script suivant:
 +
 +<code perl>
 +#​!/​usr/​bin/​perl
 +use strict;
 +
 +my $offset = shift() + 0;
 +die "​Usage:​ $0 OFFSET_SECONDS\n"​ unless $offset;
 +
 +while (<>) {
 +    chomp;
 +    my $mtime = (stat $_)[9];
 +    next unless $mtime;
 +    $mtime += $offset;
 +    utime $mtime, $mtime, $_;
 +}
 +</​code>​
 +
 +qui se lance de cette manière:
 +
 +<code bash>
 +find . -type f ! -newer /​tmp/​cmpfile | shifttime.pl 3600
 +</​code>​
 +
 +A noter que la mise à jour du temps peut être faite dans l'​autre sens avec -3600
  
 ====== Monter une clé USB ====== ====== Monter une clé USB ======
Ligne 319: Ligne 390:
 $uudecode to_decode.txt $uudecode to_decode.txt
 $less to_decode.txt $less to_decode.txt
 +</​code>​
 +
 +
 +__Solution alternative en Python:__
 +
 +<code bash>
 +python -c "print __import__('​base64'​).b64decode('​c2FsdXQ='​)"​
 </​code>​ </​code>​
  
Ligne 352: Ligne 430:
     iconv -f ISO8859-1 -t UTF-8 $i > temp.tmp && cat temp.tmp > $i && rm temp.tmp     iconv -f ISO8859-1 -t UTF-8 $i > temp.tmp && cat temp.tmp > $i && rm temp.tmp
 done done
 +</​code>​
 +
 +
 +
 +
 +====== Repérer les caractères non ASCII dans un fichier ======
 +
 +__OS:__ Linux
 +
 +__Problème:​__
 +
 +Comment repérer dans un fichier les caractères qui ne sont pas des caractères ASCII ?
 +
 +__Solution:​__
 +
 +En utilisant une option de //cat//:
 +
 +<code bash>
 +cat -v my_file.txt | grep "​M-"​
 +</​code>​
 +
 +
 +
 +====== Remplacer des caractères UTF-8 affichés en ISO-8859-1 dans un fichier ======
 +
 +__OS:__ Linux
 +
 +__Problème:​__
 +
 +Comment remplacer des caractères UTF-8 affichés en ISO-8859-1 dans un fichier ? 
 +
 +C'est à dire comment retrouver les caractères accentués dans un fichier contenant des caractères tels que à , é, è et autres ê ?
 +
 +__Solution:​__
 +
 +En utilisant le script suivant:
 +
 +<code bash>
 +#!/bin/bash
 +
 +#two chars to replace
 +sed -i 's/Ã /à/g' $1 # this one may be confused with a word ending by í
 +sed -i '​s/​á/​á/​g'​ $1
 +sed -i '​s/​â/​â/​g'​ $1
 +sed -i '​s/​ä/​ä/​g'​ $1
 +sed -i '​s/​ã/​ã/​g'​ $1
 +sed -i '​s/​é/​é/​g'​ $1
 +sed -i '​s/​è/​è/​g'​ $1
 +sed -i '​s/​ê/​ê/​g'​ $1
 +sed -i '​s/​ë/​ë/​g'​ $1
 +sed -i '​s/​ẽ/​ẽ/​g'​ $1
 +sed -i '​s/​ì/​ì/​g'​ $1
 +sed -i '​s/​î/​î/​g'​ $1
 +sed -i '​s/​ï/​ï/​g'​ $1
 +sed -i '​s/​Ä©/​ã/​g'​ $1
 +sed -i '​s/​ò/​ò/​g'​ $1
 +sed -i '​s/​ó/​ó/​g'​ $1
 +sed -i '​s/​ô/​ô/​g'​ $1
 +sed -i '​s/​ö/​ö/​g'​ $1
 +sed -i '​s/​õ/​õ/​g'​ $1
 +sed -i '​s/​ù/​ù/​g'​ $1
 +sed -i '​s/​ú/​ú/​g'​ $1
 +sed -i '​s/​û/​û/​g'​ $1
 +sed -i '​s/​ü/​ü/​g'​ $1
 +sed -i '​s/​Å©/​ũ/​g'​ $1
 +
 +#one char to replace
 +sed -i '​s/​Ã/​í/​g'​ $1
 </​code>​ </​code>​
  
Ligne 431: Ligne 577:
 </​code>​ </​code>​
 et faire "Shift + f" et faire "Shift + f"
 +
 +Autre solution pour surveiller plusieurs fichiers dans le même terminal, installer le programme //​multitail//:​
 +
 +<code bash>
 +~$ multitail /​path/​to/​file1 /​path/​to/​file2
 +</​code>​
 +
 +
 +====== Indenter un fichier XML ======
 +
 +__OS:__ Linux
 +
 +__Problème:​__
 +
 +Comment indenter correctement un fichier XML mal formaté ?
 +
 +__Commande:​__
 +
 +<code bash>
 +~$ xmlindent -w bad_formatted_file.xml
 +</​code>​
 +
 +
 +====== Remplacer les tabulations par des espaces dans un fichier ======
 +__OS:__ Linux
 +
 +__Problème:​__
 +
 +Comment remplacer l'​ensemble des tabulations par 4 espaces dans un fichier ?
 +
 +__Commande:​__
 +
 +<code bash>
 +~$ expand -t 4 my_file.txt > _tmp_ && mv _tmp_ my_file.txt
 +</​code>​
 +
 +et de manière récursive:
 +
 +<code bash>
 +~$ find . ! -type d ! -name _tmp_ -exec sh -c '​expand -t 4 {} > _tmp_ && mv _tmp_ {}' \;
 +</​code>​
 +
tips_informatiques/linux/shell/fichiers_dossiers/fichiers_dossiers.1245673852.txt.gz · Dernière modification: 2009/06/22 00:00 (modification externe)