首页 > 解决方案 > shell 脚本匹配来自另一个文本文件的数据

问题描述

我有一个 shell 脚本

#/bin/bash
var1=`cat log.json | grep "accountnumber" | awk -F ' ' '{print $1}'`
echo $var

shell脚本的输出是:-

23466
283483
324932
87374

我想匹配上面已经存储在另一个文件中的数字(下面是文件格式)并打印它的值。

23466=account-1
283483=account-2
324932=account-3
87374=account-4
127632=account-5
1324237=account-6
73642=account-7
324993284=account-8
.
.
4543454=account-200

预期产出

account-1
account-2
account-3
account-4

标签: linuxbashshellscripting

解决方案


紧凑的单线解决方案可以是:

join -t "="  <(sort bf) <(sort fa) | cut -d '=' -f 2

这里fa是包含 bash 脚本输出的文件, bf是具有23466=account-1格式的文件

输出是:

account-1
account-2
account-3
account-4

推荐阅读