我想比较两个单独文件的行数。尽管我已经在比较中尝试使用wc -l
,但我正在努力使其正常工作。如何使用IF/Then Bash命令比较2个文件中的行数
我:
if [ "$(wc -l file1.txt)" == "$(wc -l file2.txt)" ]; then echo "Warning: No Match!"; fi
然而,如果/那么语句不返回正确的输出。
如果文件1和2具有相同的行数,那么编写此代码的正确方法是什么?
FILE1.TXT:
example1
example2
example3
FILE2.TXT:
example4
example5
example6
更新:我们发现,wc -l
命令必须只针对比较返回一个数字。与Why should there be a space after '[' and before ']' in Bash?这个问题不同,这个问题需要使用wc -l
来获得一个整数,它可以与单独文件中的行数进行比较。
这对我的作品Ravinder。谢谢。 – DomainsFeatured
@down投票人:请让我知道投票的原因,以便我可以提高自己。 – RavinderSingh13
我不是downvoter,但运行两个命令替换并比较它们的输出是代码异味。我会尝试将其重构为一个更习惯的流程,也许只有一个'wc'或一个Awk脚本。 – tripleee