需要读取两个文件,每个文件都有一个带有十进制数字的列,并将它们逐行添加到第三个文件中。我可以用bash和bc做。 问题: 在某些情况下,这两个文件可能包含非数字值。当我遇到非数字值时,我需要知道它不是数字并跳过该行,即使一个文件具有有效数字,然后继续添加其余行。想在Bash本身做到这一点。 示例如下:
文件1
1.1
2.89
Nan
4.32
file2的
2.1
2.1
42.6
1.1
File3(结果文件)
3.2
4.99
5.42
答案 0 :(得分:2)
使用:
paste -d+ file1 file2 | bc 2>/dev/null >file3
答案 1 :(得分:0)
我会将awk
和paste
用作:
paste file1 file2 | awk '/^([0-9]+\.?|\.?)([0-9]*)*[ \t]+[0-9]+\.?([0-9]*)*$/ { print $1+$2 }' > File3