首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带文件的算术序列

问带文件的算术序列
EN

Unix & Linux用户
提问于 2018-10-31 15:31:52
回答 3查看 163关注 0票数 -1

我有两个文件,第一个文件是书面数字(例如123 ),第二个文件是相同的,我想要和或除以file_one + file_Two = 123 + 123 result=246,我想把算术序列变成文件号。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2018-10-31 15:42:18

使用shell在读取文件后执行算术:

代码语言:javascript
复制
$ echo 123 > file1
$ echo 123 > file2
$ printf '%d\n' $(( $(

或者,使用bc:

代码语言:javascript
复制
bc <<< $"$(

在这里,我们给了bc做算术的工作,给了shell在把它作为输入交给bc之前读取文件内容的工作。

票数 1
EN

Unix & Linux用户

发布于 2018-10-31 16:42:04

代码语言:javascript
复制
$ echo 123 > file1; echo 234 > file2
$ paste -d+ file1 file2 | bc
357
$ paste -d/ file1 file2 | bc -l
.52564102564102564102
票数 1
EN

Unix & Linux用户

发布于 2018-10-31 16:13:39

假设这些文件中所有的都是没有额外文本的数字,下面是perl中的一行,它将把所有文件中的所有行加在一起:

代码语言:javascript
复制
perl -ne '$s+=$_;END{print "$s\n"}' file1 file2 file3 ...

这是因为-n开关告诉perl在给定文件的每一行上执行给定的代码。每次将行的内容放入$_变量时。所以$s+=$_只保留一个运行的和,在END上,我们打印$s的值。

在awk中也是如此:

代码语言:javascript
复制
awk '{ s+= $0 } END{print s}' file1 file2 file3 ...
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/478924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档