私のコマンドは次のようになります。
カット -f 1 ダミー_ファイル | ソート | ユニーク -c | awk '{print $2}' | for i in $(cat -); grep -w $i dummy_FILE | を実行します。
awk -v VAR="$i" '{distance+=$3-$2} END {print VAR, distance}'; 終わり
cat dummy_FILE
Red 13 14
Red 39 46
Blue 45 23
Blue 34 27
Green 31 73
したいこと:
$1 dummy_FILE (赤、青、緑) のすべての単語について - $3 と $2 の差の合計を計算します。
次のような出力を取得するには:
Red 8
Blue -29
Green 42
私の質問は次のとおりです。
交換は可能
cut -f 1 dummy_FILE | sort | uniq -c | awk '{print $2}'
ですか?
データセットからすべての単語を抽出するために使用sort | uniq -c
しています-awkでそれを行うことは可能ですか?どうすれば無駄を克服でき
cat
ますfor i in $(cat -)
か?grep -w $i dummy_FILE
正常に動作しますが、それを awk に置き換えたいです (すべきでしょうか?)。もしそうなら、どうすればこれを行うことができますか?
私がしようとしているとき、awk -v VAR="$i" '/^VAR/ '{distance+=$3-$2} END {print VAR, distance}'
私は得て"fatal: division by zero attempted"
います。