【发布时间】:2021-11-06 14:37:31
【问题描述】:
我刚开始学习 bash。
试图弄清楚如何使用 bash 将两行代码转换为一层代码。
第一行代码...
-
在 input.txt 的第一列中搜索单词 - KEYWORD。
-
捕获此 KEYWORD 行中从 column2 到最后一列的每个数字。
-
将所有这些数字转储到 values.txt 文件中,并将每个数字放在一个新行上。
第二行代码计算第一列 values txt 中所有数字的平均值,然后打印出 this 值。
awk '{if($1=="KEYWORD") for(i=2;i<=NF;i++) print $i}' input.txt > values.txt
awk 'BEGIN{sum=0; counter=0}{sum+=$1; counter+=1}END{print sum/counter}' values.txt
我如何从这个创建一个单衬?
【问题讨论】:
-
请在您的问题中添加示例输入(无描述、无图像、无链接)以及该示例输入所需的输出(无评论)。
-
您的脚本是 awk,而不是 bash。他们会在任何外壳中做同样的事情。 awk 和 bash 是两种完全不同的工具。
-
Ed - 因为bashoneliners.com 和onceupon.github.io/Bash-Oneliner,我将这个 Bash 命名为一个班轮。看来这可以称为很多东西。
-
将弄清楚如何将示例输入和示例结果添加到未来的问题中。
标签: awk average mean one-liner