我有两个文件,第一个文件是书面数字(例如123 ),第二个文件是相同的,我想要和或除以file_one + file_Two = 123 + 123 result=246,我想把算术序列变成文件号。
发布于 2018-10-31 15:42:18
使用shell在读取文件后执行算术:
$ echo 123 > file1
$ echo 123 > file2
$ printf '%d\n' $(( $(或者,使用bc:
bc <<< $"$(在这里,我们给了bc做算术的工作,给了shell在把它作为输入交给bc之前读取文件内容的工作。
发布于 2018-10-31 16:42:04
$ echo 123 > file1; echo 234 > file2
$ paste -d+ file1 file2 | bc
357
$ paste -d/ file1 file2 | bc -l
.52564102564102564102发布于 2018-10-31 16:13:39
假设这些文件中所有的都是没有额外文本的数字,下面是perl中的一行,它将把所有文件中的所有行加在一起:
perl -ne '$s+=$_;END{print "$s\n"}' file1 file2 file3 ...这是因为-n开关告诉perl在给定文件的每一行上执行给定的代码。每次将行的内容放入$_变量时。所以$s+=$_只保留一个运行的和,在END上,我们打印$s的值。
在awk中也是如此:
awk '{ s+= $0 } END{print s}' file1 file2 file3 ...https://unix.stackexchange.com/questions/478924
复制相似问题