bash - 如何仅使用行中的一个字段比较两个文件并输出差异和相似之处
问题描述
我在比较所有 passwd 和 shadow 文件的输出时遇到问题,并且仅使用用户名字段输出相同和不同的输出
我正在使用 grep 命令
这是我到目前为止的代码
grep -f shadowfile.txt passwordfile.txt > same.txt
grep -Fxvf shadowfile.txt passwordfile.txt > diff.txt
我希望 same.txt 拥有所有用户,但差异之一中没有条目
解决方案
您可以使用以下命令:
awk -F : '{print $1}' passwd.txt shadow.txt |sort | uniq -u > diff.txt
awk -F : '{print $1}' passwd.txt shadow.txt |sort | uniq -d > same.txt
推荐阅读
- java - 方法的冗余声明
- ssh - 谷歌云计算引擎:即使在浏览器中也无法与 ssh 连接
- c# - 是否可以使用 SQLConfigDataSourceW 从 C# 创建 ODBC 系统 DSN?
- webstorm - 如何在 WebStorm 中添加“自定义”项目模板
- billboard.js - billboard.js - 根据标签值设置颜色,以便给定标签的数据在多个图表中一致着色
- docker - Docker - 无法从容器内 ping 主机子网上的任何内容
- python - 无法从 API 获取 Facebook 好友
- firefox - 在没有附加组件、扩展或插件的情况下加载 Firefox
- java - 如何隐藏或防止Springfox自动检测一些不必要的类,如File、InputStream等?
- python - TFrecord - 如何正确打印功能?