首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用awk命令比较两个文件和算术文件

使用awk命令比较两个文件和算术文件
EN

Stack Overflow用户
提问于 2018-10-29 03:11:54
回答 1查看 41关注 0票数 0

我有两个档案:

档案1

代码语言:javascript
复制
*Name|Date|id|Total*
Jimmy|03-OCT-18|BST100114262|20000
Dedi|03-OCT-18|BST100904288|10000

档案2

代码语言:javascript
复制
*Name|Amount*
Anton|9800
Jimmy|90000

输出:吉米-20000/90000-1800000000

我试过了,但没有运气。

代码语言:javascript
复制
awk -F'|' 'NR==FNR{a[$1]=$1; next} (($1 in a) && (a[$4] >= $2 )) { print a[$4]*$2 }'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 06:43:31

另一个:

代码语言:javascript
复制
$ awk 'BEGIN{FS=OFS="|"}($1 in a)&&FNR>1{print $1,a[$1],$NF,a[$1]* $NF}{a[$1]=$NF}' file1 file2

产出:

代码语言:javascript
复制
Jimmy|20000|90000|1800000000

解释了一些用金米:

代码语言:javascript
复制
$ awk '
BEGIN { FS=OFS="|" }               # set separators
($1 in a) && FNR>1 {               # if key to hash (Jimmy) is in a excluding headers
    print $1,a[$1],$NF,a[$1]* $NF  # process Jimmy
    # next                         # this excludes new Jimmy from being rehashed to a
}
{
    a[$1]=$NF                      # ... in here where everything is hashed and  the
}' file1 file2                     # ... existing rehashed
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53038251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档