我想输出文本文件中的行数。所以我使用 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
因此,在您的情况下,如果您可以将变量更改total
为total=$(cat t | wc -l)
,那么您应该只得到保存在变量 中的数字total
。
另一方面,您可以使用cut
orawk
来从零件中提取数字部分,wc -l t
如下所示:
wc -l t | cut -d " " -f1
wc -l t | awk '{print $1}'