linux - shell脚本匹配来自另一个文本文件的数据

标签 linux bash shell scripting

我有一个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

最佳答案

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

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

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

输出是:

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

关于linux - shell脚本匹配来自另一个文本文件的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51845603/

相关文章:

linux - 在命令行终端上将整数值分配为命令

linux - 非登录用户的 .ssh/authorized_keys 文件在哪里?

ruby - 如何并行运行两种方法ruby

linux - 仅查找目录中的文本文件

linux - 将命令结果分配给变量时 Shell 挂起

linux - 通过 grep 删除文本文件中的空行

java - Linux 版本检查 Linux 命令或 Java 代码

node.js - npm 多个命令执行 && 不起作用,但是 & 和 ||做

linux - 如何在 Shell 脚本 (Bash) 中搜索单词?

bash - 如何在 awk 脚本中使用 shell 变量?