bash - 在 bash 中将一个文件的行数除以另一个文件的最短行数是多少?

标签 bash division wc

在 bash shell 中,我试图编写一个简短的单行代码来将一个文件的行数除以另一个文件的行数。我想显示浮点除法的至少两位小数。

换句话说,我想要一个单行打印一个文件的行数占另一个文件行数的百分比。

例如,如果我有一个 25 行的第一个文件 (first.txt) 和一个 100 行的第二个文件 (second.txt),单行代码将输出 .25

最佳答案

首先是一些测试 Material :

$ for i in {1..25} ; do echo $i >> first ; done
$ for i in {1..100} ; do echo $i >> second ; done

然后一些awk:

$ awk 'END{print(NR-FNR)/FNR}' first second
0.25

NR 是两个文件中记录的总数。在END处,FNR是后一个文件的记录数,所以(NR-FNR)/FNR是第一个文件的记录数文件除以秒的记录数。

除了此处提供的解决方案外,您还需要将问题提交至the code golf course。 .

关于bash - 在 bash 中将一个文件的行数除以另一个文件的最短行数是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46435762/

相关文章:

bash - 写单行时 echo 是原子的

bash - SED 命令在 Vagrant Init 脚本中不起作用

algorithm - 保和除法

linux - 如何实现 wc 的实时版本?

bash - 如何在不手动配置的情况下使用databricks-cli

bash - 计算命令行参数的总和并显示结果

html - div 在响应模式下的另一个

python - 在 Python 中有 '//' 的原因是什么?

python - 为什么 wc -w 和 Python 的 len(text.split()) 给出不同的结果?

hadoop - 如何计算文件 hdfs 的行数?