如何计算指定行数的单词?

克里斯

我遇到了一个有趣的问题,要计算文件中的单词数,该文件中的行数也被指定为命令行参数。例如,如果输入文本文件具有-

Unix is an OS
Linux is the child of Unix
Unix is fun.
End of File

要执行的命令是:

bash test.sh unix.txt 3

其中unix.txt是包含句子和3中的测试文件,其词语是要计数的行数。答案是13。

我已经使用了基本wc命令,但是没有一个能给出正确的答案。

因此,我尝试使用for循环,但是我无法指定如何仅采用那些行数。

维萨尔

有了head -n 3 unix.txt文件的前三行,就可以将它们通过管道传输到wc

因此,对于存储在$fileshell变量中的任意文件名

{ head -n 3 | wc -w; } < "$file"

或者:

head -n 3 -- "$file" | wc -w

尽管后者无法与在-某些head实现中调用的文件一起使用,并且0head无法打开文件时还会输出错误消息(by 并输出,并且在这种情况下,失败退出状态将丢失,除非您使用pipefail一些外壳中找到了(非标准)选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章