1
首先文件,file_utm:BASH,合併兩個文件,下和上三角矩陣,成一個文件
1.3 3.5 2.8
2.1 1.4
0.5
第二文件,file_ltm:
1.3
3.5 2.1
2.8 1.4 0.5
和一個狀態下,當if i=j; then i=j=0; fi
輸出文件:
0 1.3 3.5 2.8
1.3 0 2.1 1.4
3.5 2.1 0 0.5
2.8 1.4 0.5 0
這是我曾嘗試:
#!/bin/bash
for ((x=1; x<=3; x++))
do
awk -v var=$x 'NR==var' file_utm > ROW
awk -v var=$x 'NR==var' file_ltm > COLUMN
for ((y=1; y<=3; y++))
do
R=`awk -F "\t" -v var=$y '{print $var}' ROW`
C=`awk -F "\t" -v var=$y '{print $var}' COLUMN`
echo $R >> file
echo $C >> file
rm ROW
rm COLUMN
done
done
,我有,雖然是給定值和解決,以填補只能是空格,製表符分開的矩陣文件,並填寫該矩陣中的另一種選擇行和列位置。我知道如何在C++中做到這一點,但不是在bash中使用awk。
謝謝。但是,當我用兩個大文件嘗試它時,它不起作用。 ASCII文件可以在以下網址找到:we.tl/TSBTSqacrj –
@ Another.Chemist,我確實爲您當前的問題輸入而工作。我觀察過文件中的行 - 它們具有不一致/任意數量的列,並且看起來不屬於一個大矩陣的一部分 – RomanPerekhrest
好吧,那是真的,謝謝你,+1爲你的答案 –