列と行で整理されたファイルから値を抽出します。

列と行で整理されたファイルから値を抽出します。

次の形式の5つの列を持つファイルがあります。

1 213 1 545 0.0988697879 0.9084867680

このようなラインが300本あります。行の4番目と5番目の列から値を取得して数学演算を実行し、結果を保存して300行すべてについてこのプロセスを繰り返したいと思います。

これまでに見つけた最も近い解決策は、次のように配列を構築することです。

while IFS= read -a line; do   printf "Line number %d:\n" $i;   printf "%s\n" "${line[@]}";   let i++; done < "workfile.txt""

この問題を解決するためのより良い方法は何ですか?

ベストアンサー1

awkを使用してフィールドを操作できます。詳細は次のとおりです。ここ。次のコード行は、4番目と5番目のフィールドを追加し、結果を出力ファイルに保存します。

awk '{print $4 + $5}' input.file > output.file

おすすめ記事