私は複数のファイル(66)を持ち、各ファイルの3列目をinfo.fileの対応する値に分割し、各ファイルの4列目に新しい値を挿入します。 私のマニュアルのコードは次のとおりです。別のファイルの対応する値に基づいて列を分割する方法はありますか?
awk '{print $4=$3/NUmber from info.file}1' file
しかし、これは、個々のファイルに対して行うために私に時間を要します。だから私はすべてのファイルのためにそれを自動化したい。おかげ
file1:
chrm name value
4 a 8
3 b 4
file2:
chrm name value
3 g 6
5 s 12
info.file:
file_name average
file1 8
file2 6
file3 10
は出力:div_column3.awkは、コンテンツとawk
コマンドスクリプトファイルであることを
awk 'NR>1{system("awk -v div="$2" -f div_column3.awk "$1" | column -t > new_"$1);}' info.file
:
file1:
chrm name value new_value
4 a 8 1
3 b 4 0.5
file2:
chrm name value new_value
3 g 6 1
5 s 12 2
目標は、自分で解決するための研究努力を少なくとも示すために自分のコードを追加することです。 – Cyrus
私はコードに2番目のファイルを含める方法を知らないので、最初のコードを再生する必要があります。私は新しいコーディングで:( – Behmah
ファイルをマージするための答えに戻る:https://stackoverflow.com/questions/46345345/how-to-merge-two-files-with-different-fields-based-on- one-matching-columnsその答えは、2番目のファイル( 'FNR == NR')の使用方法を示しています。 – jas