Connaitre la taille des fichiers et sous-repertoires d’un dossier

12 janvier 2015

Bonjour à tous,

En SSH j’aime bien savoir où je me trouve (pwd), lister les fichiers et dossiers (ls -la) mais aussi quelle est la taille leur taille (du -sh).
Cependant, il n’existe pas d’option pour du qui permette de lister les fichiers et sous-dossiers tout en ayant leur taille (le 4096o renseigné pour les dossiers et loin d’être satisfaisant).

Après quelques recherches, j’ai trouvé ceci qui s’avère assez utile:

du -sk * | sort -rn | \
while read SIZE ENTRY
do
# if size > 1048576 then it is at least 1 GB big
if [ ${SIZE} -gt 1048576 ]
then
NEWSIZE=`echo "${SIZE}000 / 1048576" | bc | sed -e "s/\(...\)$/\.\1/"`
printf "% 10s %s\n" ${NEWSIZE}G $ENTRY
# if size > 1024 then it is at least 1 MB big
elif [ ${SIZE} -gt 1024 ]
then
NEWSIZE=`echo "${SIZE}000 / 1024" | bc | sed -e "s/\(...\)$/\.\1/"`
printf "% 10s %s\n" ${NEWSIZE}M $ENTRY
else
printf "% 10s %s\n" ${SIZE}K $ENTRY
fi
done

Evidemment, il est déjà possible dans faire un alias pour l’utiliser de manière courte par la suite!

Extraire des infos d’un fichier CSV

2 octobre 2013

Lorsque l’on travaille avec des outils qui génèrent ou brassent des données, on peut être amené à vouloir les exporter pour les importer ailleurs.
J’ai tendance à préférer les sorties XML qui permettent une flexibilité dans les champs sortis pour chaque entrée mais quand la table des données à exporter est connue (de taille fixe), je préfère un fichier CSV qui est généralement plus léger.

Cependant l’extraction des données ne se fait pas forcément sans heurts à cause des caractères spéciaux comme les retours à la ligne.
En flânant sur la documentation en ligne de PHP, j’ai cependant fait une chouette découverte au travers du code fourni par Ryan Rubley.
Lire le reste de cet article »

Retirer les caractères non imprimables d’une chaîne

25 juillet 2013

Une chaine de caractères affichée n’est pas forcément identique à une autre pourtant affichée de la même manière.

En effet, à l’instar des espaces qui en HTML ne s’additionnent pas normalement (sans l’utilisation d’espaces insécables donc), certains caractères d’une chaine peuvent simplement passer inaperçus.

Ce n’est pas spécifiquement gênant dans la majorité des cas mais cela peut le devenir si certains de ces caractères sont indésirables dans certains circonstances, par exemple dans un fichier XML.

Une solution simple réside à remplacer tous ces caractères non afficheables par… du vide!

  1. span class= »st0″>’/[\x00-\x1F\x80-\xFF]/’,  », $string);