计算文件中的行数,然后比较哪个行数更多(BASH)

计算文件中的行数,然后比较哪个行数更多(BASH)

我需要计算 x 个文件中的行数并比较哪个文件的行数更多。

我所做的只需要两个文件并比较它们。知道如何使其成为 x 个文件数量吗?

echo Enter the filename read fn

echo Enter another file read fn1

for WORD in $(cat $fn) do
        echo "$WORD" done | wc -l

for WORD in $(cat $fn1) do
        echo "$WORD" done | wc -l

if (cat $fn | wc -l > cat $fn1 | wc -l) then
        echo First file has more lines than second file else if (cat $fn1 | wc -l > cat $fn | wc -l) then
        echo Second file has more lines than first file.

fi

答案1

find . -name "*.txt" -exec wc -l '{}' \; | sort -n

您可以了解线条尺寸,然后用一个线条对它们进行排序。

答案2

wc -l * | head -n -1 | sort | tail -1 | cut -d ' ' -f 3

这将为您提供行数最多的文件的文件名

答案3

只需命名要比较的所有文件,并按大小排序(-数字):

wc -l a.html b.html c.html | sort -n

答案4

find . -name '*txt' | xargs wc -l | sort -n

在我的机器上,这比该-exec版本更快。

相关内容