Gestion des espaces dans les noms de fichiers
Bonjour,
Dans un fichier plat qui contient des chemins absolu de fichiers, je mets en colonne 2 la taille du fichier.
Exemple : fichier "file_size.txt"
Code:
1 2 3 4 5 6
| /home/kevin/rep1/tata 10
/home/kevin/rep1/tutu 19
/home/kevin/rep1/rep12/papa 26
/home/kevin/rep1/rep11/jon 90
/home/kevin/rep1/rep11/dady 26
/home/kevin/rep1/rep11/brian 104 |
Il se trouve dans dans la réalité certains noms de fichiers comprennent des espaces.
Code:
/home/kevin/rep1/mon fichier 48
Pour positionner la taille du fichier en colonne 2 j'utilise un "wc -c < nom_fichier".
Le code que j'utilise est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
...
...
#on enregistre lIFS actuel
OLDIFS=$IFS
#on change lIFS, pour être un retour à la ligne
IFS='
'
for line in $(cat /home/kevin/file.txt); do echo "$line `wc -c < $line`";done > /home/kevin/file_size.txt
#on rétablit lIFS
IFS=$OLDIFS
... |
Dans le fichier final très long file_size_"$Date" je vois des loupés, de temps en temps, et finalement je me questionne si cela ne vient pas ma gestion de l'IFS ?
Est-elle selon vous correcte ?