我的命令如下所示:
cut -f 1 dummy_FILE | 排序 | 唯一的-c | awk '{打印 $2}' | 对于我在 $(cat -); 做 grep -w $i dummy_FILE |
awk -v VAR="$i" '{距离+=$3-$2} END {打印 VAR,距离}'; 完毕
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"
。