Je souhaite comparer les nombres de lignes de deux fichiers distincts. Alors que j'ai essayé d'utiliser wc -l
dans la comparaison, j'ai du mal à le faire fonctionner correctement.Comment comparer le nombre de lignes dans 2 fichiers à l'aide de la commande IF/Then Bash
J'ai:
if [ "$(wc -l file1.txt)" == "$(wc -l file2.txt)" ]; then echo "Warning: No Match!"; fi
Cependant, l'if/then instruction ne renvoie pas la sortie correcte.
Si les fichiers 1 et 2 ont le même nombre de lignes, quelle est la bonne façon d'écrire ce code?
Fichier1.txt:
example1
example2
example3
FILE2.TXT:
example4
example5
example6
Mise à jour: Nous avons constaté que la commande wc -l
doit retourner un chiffre que pour la comparaison. Contrairement à la question Why should there be a space after '[' and before ']' in Bash?, cette question nécessite d'utiliser wc -l
pour obtenir un entier qui peut être comparé au nombre de lignes dans des fichiers séparés.
Cela fonctionne pour moi Ravinder. Merci. – DomainsFeatured
@down électeur: S'il vous plaît faites-moi savoir la raison du vote en bas, afin que je puisse m'améliorer. – RavinderSingh13
Je ne suis pas le downvoter, mais l'exécution de deux substitutions de commande et la comparaison de leur sortie est une odeur de code. J'essaierais de le refactoriser en un flux plus idiomatique, peut-être avec un seul 'wc' ou un script Awk. – tripleee