如何比较2个文件并仅打印选定的信息?

时间:2019-01-15 18:34:22

标签: linux bash sudoers passwd

我正在尝试比较这两个文件,只打印出我需要的内容作为期望的输出。

onCreateView

这就是我所做的

File1: 
012345:x:9012345:9012345:John Smith:/home/bin/bash
543210:x:9876543:9876543:Troy Denver:/home/bin/bash
111111:x:9898989:9898989:Mathew Moore:/home/bin/bash
222222:x:0101010:0101010:Chuck Maxwell:/homebin/bash
333333:x:1212121:1212121:Bob Evans:/home/bin/bash

File2:
333333 ALL=(ALL) NOPASSWD: ALL
543210 ALL=(ALL) NOPASSWD: ALL
222222 ALL=(ALL) NOPASSWD: ALL

Desired Output: 
333333 Bob Evans
543210 Troy Denver
222222 Chuck Maxwell

1 个答案:

答案 0 :(得分:0)

使用GNU连接,排序,sed和bash:

join -j 1 -t : <(sort File1) <(sed 's/ /:/' File2 | sort) -o 1.1,1.5 | sed 's/:/ /'

输出:

222222 Chuck Maxwell
333333 Bob Evans
543210 Troy Denver

请参阅:man join