bash - 查找唯一文件
问题描述
有没有办法找到唯一/修改过的文件?
我有两个带有哈希和名称的文本文件,例如:
文件 1.txt:
c3f2b563b3cb091esada5b40fbfd5e60f526da3d *10.88.10/1.xml
770aafff757f83e55c4cadaad7144e512299788d *10.88.10/config/2.csv
38045a78f87addaddada4c3754bea76c72cbfe25 *10.88.10/3.txt
asddd132dfdada1231431411ddsfadfgdkkgdada *10.88.10/4.js
文件2.txt:
c3f2b563b3cb091esada5b40fbfd5e60f526da3d *10.88.12/1.xml
770aafff757f83e55c4cadaad7144e512299788d *10.88.12/config/2.csv
38045a78f87addaddada4c3754bea76c72cbfe25 *10.88.12/3.txt
asddd1222131231231sadsdaddsfadfgdkkgdada *10.88.12/4.js
dadadadawqeqweqwg32542362436532wqrewqr32 *10.88.12/5.py
如您所见,其中的一些文件file1.txt
是file2.txt
相同的。file2.txt
添加了一个名为的文件5.js
和一个名为4.js
.
有什么办法可以输出修改和添加的文件file2.txt
吗?
预期输出:
10.88.12/4.js
10.88.12/5.py
我尝试了该diff
命令,但由于文件名(10.88.10 到 10.88.12),它显示所有文件都不同。
我试过cut -d' ' f1
了,但是在diff
命令之后我找不到输出文件名的方法。
解决方案
与awk
:
$ awk 'NR==FNR{c[$1]++;next}; { if (c[$1] == 0) print $2; }' File1.txt File2.txt
*10.88.12/4.js
*10.88.12/5.py
基于 https://unix.stackexchange.com/questions/174599/using-diff-on-a-specific-column-in-a-file
推荐阅读
- flutter - 如何在下面的代码中执行异步等待
- mysql - 使用 SQL 根据条件标记列
- pyspark - 在本地模型中运行 wordcount lines=sc.textFile('../spark_test.txt')lines.count()
- python - 如何通过我的切换帧功能将 Tkinter 条目值从一帧传递到另一帧
- ubuntu - 由于不满足依赖关系而无法安装rabbitmq:libssl
- angular7 - IE11 显示*ngFor 错误
- makefile - 为什么 C 代码会收到消息“架构 x86_64 的未定义符号:”?
- azure - Azure 应用程序错误地请求管理员同意?
- gradle - 如何在 ndk 中使用 cmake 设置 LOCAL_LDFLAGS/LOCAL_CPPFLAGS?
- c - 数数 C 编程中字符串中的单词数(我收到空字符常量错误)