diff比较带有空格或空行的文件

时间:2025-02-23 07:15:15

在比较两个文件的时候,有一个文件存在一些空行,或者两个文件的换行符不一致,或者存在tab和空格显示的不同,在比较的时候希望忽略掉这些空白字符,只比较文本是否一致,并在diff返回显示的时候将返回内容并列显示,且只显示文件中不同的内容,不显示序号或者行号

查看文本空白行的行号

grep -n ^$ 

grep -n 显示符合条件的行号 ^ 表示行首 $ 表示行尾,^$中间没有别的字符,表示空行

/linux/ grep

sed -n '/^$/=' 
sed -n '/[a-zA-Z0-9@#$%^&*]/!=' 

/linux/

awk '/^$/{print NR}' 

/linux/

linux下查找文件中空行的行号:

/stono/p/

diff比较文本不同之处(不比较空格)

diff file1 file2
diff file1 file2 -w  # 忽略全部的空格字符
diff file1 file2 -b  # 不比较空格字符
diff file1 file2 -y --suppress-common-lines  # 两个参数合用,将文件的不同之处以并列的形式显示
diff file1 file2 -yw --suppress-common-lines | head  # 显示两个文件的不同(不比较空行)
-y --suppress-common-lines 并列显示符号表示
|:前后2个文件内容有不同
<:后面文件比前面文件少了1行内容
>:后面文件比前面文件多了1行内容

/linux/
/hustyangju/article/details/46785533