У меня есть два файла с равным количеством строк и столбцов. Я хотел бы вычесть все записи в одном файле из соответствующих записей в другом файле без учета недостающих значений. напримерВычтите все записи в одном файле из соответствующих записей в другом файле без учета отсутствующего значения.
ifile1.txt
3 5 2 2
1 ? 2 1
4 6 5 2
5 5 7 1
ifile2.txt
1 2 1 3
1 3 0 2
2 ? 5 1
0 0 1 1
Здесь "?" является отсутствующим значением и не должно учитываться при вычислении.
ofile.txt i.e. [(ifile1.txt) - (ifile2.txt)]
2.00 3.00 1.00 -1.00
0.00 ? 2.00 -1.00
2.00 ? 0.00 1.00
5.00 5.00 6.00 0.00
Я мог бы в состоянии сделать это без каких-либо недостающих значений следующим способом. Но не может добиться успеха с недостающим значением, как здесь?? ».
paste ifile1.txt ifile2.txt > ifile3.txt
awk '{n=NF/2; for (i=1;i<=n;i++) printf "%5.2f ", $i-$(i+n); print ""}' ifile3.txt > ofile.txt
Большое спасибо за вашу поддержку. Это дает нулевые значения «0» вместо отсутствия «?» из-за форматирования. Поэтому вместо printf "% 5.2f" я использовал printf "% 5s". Работает нормально. – Kay