我试图找到一个目录中存在的文件,但另一个目录中没有,我试图使用以下命令:

diff -q dir1 dir2

上述命令的问题是,它既可以在dir1中找到文件,但不能在dir2中找到,也可以在dir2中找到文件,但不能在dir1中找到,

我试图在dir1中找到文件,但不只是在dir2中.

下面是我的数据的一个小样本

dir1    dir2    dir3
1.txt   1.txt   1.txt
2.txt   3.txt   3.txt
5.txt   4.txt   5.txt
6.txt   7.txt   8.txt

我脑海中的另一个问题是,如何在一个命令中找到dir1中的文件,而不是dir2dir3中的文件?

推荐答案

diff -r dir1 dir2 | grep dir1 | awk '{print $4}' > difference1.txt

Explanation:

  • diff -r dir1 dir2显示哪些文件仅在dir1中,哪些文件仅在dir2中,以及两个目录中存在的文件的更改(如果有).

  • diff -r dir1 dir2 | grep dir1显示哪些文件仅在dir1中

  • awk只打印文件名.

Linux相关问答推荐

与mmap和munmap相比,保留一个巨大内存文件(约400 MB)的mmap多次的性能成本

在shell 中使用排除模式的grep

Microsoft ODBC Driver 18 for Python Docker Image,ARM设备;生成错误

如何限制SLURM中并行执行的程序数量

用户作用域在Linux内核密钥环(Golang)中是什么意思?

如何让xargs对 bash 脚本中find命令找到的所有文件执行?

使用 AWK 过滤 Linux 输出

如何在vim中使用正则表达式来切换文件中所有字符的大小写

如何让 Flutter 用鼠标拖动而不是滚轮滚动? (Linux)

sed 命令在 gitlab runner 上无法正确执行

如何使用 __attribute__((visibility("default")))?

Linux 非阻塞 fifo(按需日志(log)记录)

在 bash 中检测公共 IP 地址的方法

C.UTF-8 和 en_US.UTF-8 语言环境有什么区别?

使远程目录保持最新

给定一个 linux 用户名和密码,我如何测试它是否是有效帐户?

区分 Windows 和类 Unix 系统的 Makefile

Anaconda 安装后,conda 命令失败并显示ImportError: no module named conda.cli

如何通过进程名获取PID?

CentOS:在 PHP 安装中启用 GD 支持