Je veux vérifier le nombre de caractères dans un fichier à partir du début jusqu'au caractère EOF. Je ne sais pas si je peux le faire avec le shell script.
Réponses
Trop de publicités?J'aurais pensé qu'il serait préférable d'utiliser stat
pour trouver la taille d'un fichier, puisque le système de fichiers la connaît déjà, plutôt que de devoir lire tout le fichier avec la fonction awk
o wc
- surtout s'il s'agit d'un fichier de plusieurs Go ou d'un fichier qui peut être non résident dans le système de fichiers d'un HSM.
stat -c%s file
Oui, je reconnais qu'il ne prend pas en compte les caractères multi-octets, mais j'ajouterais que l'OP n'a jamais précisé si c'était ou non un problème.
Crédits à user.py et al.
echo "ää" > /tmp/your_file.txt
cat /tmp/your_file.txt | wc -m
se traduit par 3
.
Dans mon exemple, le résultat attendu est 2
(deux fois la lettre ä
). Cependant, echo (ou vi) ajoute un saut de ligne \n
jusqu'à la fin de la sortie (ou du fichier). Ainsi, deux ä
et un saut de ligne Linux \n
sont comptabilisés. Cela fait trois ensemble.
Travailler avec des tuyaux |
n'est pas la variante la plus courte, mais je dois donc en savoir moins wc
par cœur. En outre, cat
est à l'épreuve des balles, d'après mon expérience.
Testé sur Ubuntu 18.04.1 LTS (Bionic Beaver).
- Réponses précédentes
- Plus de réponses