私はこのようなものを持っています
ファイル1:
element1,12
element2,10
element3,5
ファイル2:
IN
element1,8
element3,5
file1を修正して次のようにします。
element1,20
element2,10
element3,10
file2の最初の行には、追加したいという意味である「IN」が含まれています。 "OUT"の場合、この値を減算する必要があり、file1は次のようになります。
element1,4
element2,10
element3,0
awk、grep、sed を使用する必要があります。ありがとうございます!
ベストアンサー1
$ cat tst.awk
BEGIN { FS=OFS="," }
NR==FNR {
if ( FNR == 1 ) {
mult = ($1=="IN" ? 1 : -1)
}
else {
add[$1] = mult * $2
}
next
}
{
$2 += add[$1]
print
}
$ awk -f tst.awk file2 file1
element1,20
element2,10
element3,10
$ awk -f tst.awk file3 file1
element1,4
element2,10
element3,0
$ head file{1..3}
==> file1 <==
element1,12
element2,10
element3,5
==> file2 <==
IN
element1,8
element3,5
==> file3 <==
OUT
element1,8
element3,5