使用 echo 命令输出变量值

使用 echo 命令输出变量值

我想输出文本文件中的行数。所以我使用 echo 命令,但当我运行以下代码时,我得到文件名和行数:

echo "$page" > t
total="$(wc -l t)"
echo "$total"

产量:162吨

注意:文件“t”中的行数仅为 162。

答案1

我不知道是否有一个标志可以阻止 wc 打印文件名,但是cut您可以直接剪掉您的号码:

wc -l filename  | cut -d' ' -f1

答案2

每当您使用 时wc -l FILENAME,它总是会打印文件名和数字。

wc -l /etc/hosts
34 /etc/hosts

为了不打印文件名,您可以使用cat并将其输出通过管道传输到wc -l以下内容:

cat /etc/hosts | wc -l
34

因此,在您的情况下,如果您可以将变量更改totaltotal=$(cat t | wc -l),那么您应该只得到保存在变量 中的数字total

另一方面,您可以使用cutorawk来从零件中提取数字部分,wc -l t如下所示:

wc -l t | cut -d " " -f1

wc -l t | awk '{print $1}'

相关内容