Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 计算文件中一行中的字数,但忽略Enter键_Shell_Unix_Awk_Scripting - Fatal编程技术网

Shell 计算文件中一行中的字数,但忽略Enter键

Shell 计算文件中一行中的字数,但忽略Enter键,shell,unix,awk,scripting,Shell,Unix,Awk,Scripting,我使用下面的命令来计算行中的字数,但它给出了字数加1作为输出 awk '{ print length($0); }' abc.txt 如何在计算一行中的字数时忽略最后一个字符或输入键?不提供字符数 awk '{ print length($0); }' abc.txt 如果字段分隔符为单个空格,则不提供字 awk '{ print NF; }' abc.txt 也许您可以像这样使用awk中的NF变量 echo "this is a test" | awk '{print NF}' 打

我使用下面的命令来计算行中的字数,但它给出了字数加1作为输出

awk '{ print length($0); }' abc.txt
如何在计算一行中的字数时忽略最后一个字符或输入键?

不提供字符数

awk '{ print length($0); }' abc.txt
如果字段分隔符为单个空格,则不提供字

awk '{ print NF; }' abc.txt

也许您可以像这样使用
awk
中的
NF
变量

  echo "this is a test" | awk '{print NF}'
打印
4


我不确定你希望从打印整个图像的长度中得到什么。这将为您提供字符数。不是字数

第一个命令的计数仍然是加1,而不是字符串中的字符数line@RahulkumarBudhwani使用第二个选项,该选项在一行中不提供字段/单词,它认为空格是单词之间的分隔符。第二个选项在一行中提供大量单词。我需要的是如何计算一行中的字符数,不包括回车键的最后一个字符。@RahulkumarBudhwani为什么不
awk'{print length($0);}'abc.txt
它打印您需要的内容。它计算一个额外的索引,如果文本文件中有多行,您可以看到该索引,而对于最后一行,它不计算该额外索引,因为最后一行中没有新行字符。