J’essaie d’exécuter le code suivant pour exclure les fichiers de moins de 6 lignes, mais il semble exclure les fichiers avec plus de lignes et en inclure certains avec moins. L’instruction if / else est en boucle et $ filename a été défini.
if [[ $(wc -l $f) > 6 ]]; then echo "$filename" else echo "skipping $filename" fi
Le problème est avec wc -l
sortie, il résulte le nom du fichier avec les numéros de ligne.
if [[ $(wc -l $f|awk '{print $1}') > 6 ]]; then echo "$filename" else echo "skipping $filename" fi
wc -l
retourne le numéro de ligne avec le nom du fichier. vous devez donc supprimer le nom du fichier avant de comparer. Exemple:
wc -l ola 7 ola