ファイル1:
456
445
2323
ファイル2:
433
456
323
2 つのファイルのデータの欠損値を取得し、output.txt に出力します。つまり、次のようになります。
23
-11
2000
どうすればこれを認識できますか? ありがとうございました。
ファイル1:
456
445
2323
ファイル2:
433
456
323
2 つのファイルのデータの欠損値を取得し、output.txt に出力します。つまり、次のようになります。
23
-11
2000
どうすればこれを認識できますか? ありがとうございました。
$ paste file1 file2 | awk '{ print $1 - $2 }'
23
-11
2000
純粋な bash で、外部ツールを使用しない場合:
while read -u 4 line1 && read -u 5 line2; do
printf '%s\n' "$(( line1 - line2 ))"
done 4<file1 5<file2
これは、両方のファイルを開く (ファイル記述子 4 と 5 に添付する) ことで機能します。反復ごとに各記述子から 1 行を読み取るループに入り (いずれかの記述子に値がない場合はループを終了します)、結果を計算して出力します。
貼り付けを使用して数式を作成し、bc を使用して計算を実行します。
paste -d - file1 file2 | bc
列間で操作するには、paste と awk を使用できます。
paste -d" " file1 file2 | awk -F" " '{print ($1-$2)}'
または、ファイルにパイプすることもできます:
paste -d" " file1 file2 | awk -F" " '{print ($1-$2)}' > output.txt
それが役に立てば幸い!