参考资料
- 【 diff 】コマンド(基本編)――テキストファイルの差分を出力する
- 便利なdiffコマンド使い方
目录
- 前期准备
- 一. 基本语法
- 二. 文件比较
- 2.1 无配置项
- 2.2 -B 忽略空行,-w忽略空格
- 2.3 -y 文件内容横向比较显示
- 2.4 -q 仅显示文件是否不同,不显示具体差异
- 三. 文件夹比较
- 3.1 -r 递归比较到子文件夹
- 3.2 -N 比较文件夹时,显示文件差分内容
前期准备
有文件file1.txt 和 file2.txt,其差分如下。
一. 基本语法
# 比较文件
diff 配置项 file1 file2
# 比较文件夹
diff 配置项 directory1 directory2
短配置项 | 长配置项 | 作用 |
---|---|---|
-i | –ignore-case | 忽略大小写 |
-B | –ignore-blank-lines | 忽略空行 |
-b | –ignore-space-change | 如果只有空格发生变更的话,就忽视 |
-E | –ignore-tab-expansion | 忽略tab造成的空格变化 |
-w | –ignore-all-space | 忽略空格 |
-y | –side-by-side | 文件显示为两列横向比较 |
-a | –text | 将文件强制视为文本文件一行行比较 |
-q | –brief | 仅显示文件是否不同,而不显示具体差异 |
-r | –recursive | 文件夹进行比较的时候,递归比较其子文件夹 |
-N | –new-file | 目录比较时,如果某个文件仅存在于一个目录中 用一个空文件和该文件比较,显示该文件的具体内容 |
二. 文件比较
2.1 无配置项
diff file1.txt file2.txt
<
:指向左边,表示左侧文件的内容>
:指向右边,表示右侧文件的内容
2.2 -B 忽略空行,-w忽略空格
diff -Bw file1.txt file2.txt
🧐 可以看到空格和空行的差异并没有差分出来
2.3 -y 文件内容横向比较显示
diff -y file1.txt file2.txt
2.4 -q 仅显示文件是否不同,不显示具体差异
diff -q file1.txt file2.txt
三. 文件夹比较
3.1 -r 递归比较到子文件夹
diff -r ./20240102/ ./temp
3.2 -N 比较文件夹时,显示文件差分内容
直接比较文件夹的话,不会显示文件内容的比较,使用-N
的话,可以显示
diff -N ./temp/ ./work/