Ok, débutant ici:
Comment puis-je atteindre l'objectif suivant:Comment vérifier si la taille d'un fichier est supérieure à une certaine valeur dans Bash
- Je dois vérifier la taille d'un fichier
- comparer ensuite cette taille de fichier à un nombre fixe en utilisant une condition if et instruction conditionnelle correspondante
jusqu'à présent, je donne les résultats suivants:
#!/bin/bash
# File to consider
FILENAME=./testfile.txt
# MAXSIZE is 5 MB
MAXSIZE = 500000
# Get file size
FILESIZE=$(stat -c%s "$FILENAME")
# Checkpoint
echo "Size of $FILENAME = $FILESIZE bytes."
# The following doesn't work
if [ (($FILESIZE > MAXSIZE)) ]; then
echo "nope"
else
echo "fine"
fi
Avec ce code, je peux obtenir le nom du fichier dans la variable $ FILESIZE, mais je ne peux pas le comparer avec une valeur entière fixe.
EDIT
#!/bin/bash
filename=./testfile.txt
maxsize=5
filesize=$(stat -c%s "$filename")
echo "Size of $filename = $filesize bytes."
if ((filesize > maxsize)); then
echo "nope"
else
echo "fine"
fi
'si [(($ FILESIZE> MAXSIZE))]; '->' if ((FILESIZE> MAXSIZE)); 'Les opérateurs arithmétiques peuvent servir d'expression conditionnelle. (vous n'avez pas besoin du '$' dans '((...))') –