Bash 将数据库文件的查询结果打印到一个文件中
我有两个文件:Bash 将数据库文件的查询结果打印到一个文件中,bash,join,grep,Bash,Join,Grep,我有两个文件: abc ghi 第二个(aka数据库文件) 如果存在匹配项,我想查询数据库文件,将第二列打印到第一个文件的第二列 所以我的输出是 abc 123 ghi 789 从逻辑上讲,我知道我必须做什么,但我缺少bash中的命令 我的尝试是将join与-1一起使用,但我不知道如何实现它……join在这里有点过分(因为它需要排序),因为file1只有一列。您不能使用grep-f grep -Fwf file1 file2 -F将file1的内容视为字符串,而不是模式 -w查找
abc
ghi
第二个(aka数据库文件)
如果存在匹配项,我想查询数据库文件,将第二列打印到第一个文件的第二列
所以我的输出是
abc 123
ghi 789
从逻辑上讲,我知道我必须做什么,但我缺少bash中的命令
我的尝试是将
join
与-1
一起使用,但我不知道如何实现它……join
在这里有点过分(因为它需要排序),因为file1只有一列。您不能使用grep-f
grep -Fwf file1 file2
将file1的内容视为字符串,而不是模式-F
查找要匹配的整个单词-w
- 加入
有什么问题
$ cat 1
abc
ghi
$ cat 2
abc 123
def 456
ghi 789
$ join 1 2
abc 123
ghi 789
然后,如果您想将其存储在某个地方,只需重定向stdout即可
$ cat 1
abc
ghi
$ cat 2
abc 123
def 456
ghi 789
$ join 1 2
abc 123
ghi 789