我是 ubuntu 和编码的新手。我遇到了问题,因为我有两个包含几乎相同单词的文件。它们仅相差一个字符(我希望如此)。我的输入是这样的文件
文件 1:
AEEL00123-RA
AEEL00123-RB
AEEL00125-RA
(...)
文件 2:
AEEL00123-PA
AEEL00123-PB
AEEL00125-PA
(...)
我需要只显示 Ps 或 Rs 的输出,因为稍后我将计算这些差异并且我的文件每个有 29000 行。我需要确认有 29000 个差异并且它们只是字母 P 或 R
我希望输出是这样的:
P
P
P
P
因为那时我会用 wc -l 或类似的东西来计算它。
最佳答案
cmp -l file1 file2 |\
awk '
{ count++ }
!/( 12[02]){2}$/ { print "bogus change at position", $1 }
END { print count, "total changes" }
'
cmp -l
比较两个文件并输出任何字节差异awk
脚本计算更改并打印总数;它还会为任何不属于 的更改打印一条消息。电话 (120) 或 R (122) 请注意,如果这两个文件包含任何长度不等的行(即插入或删除而不是替换),您将获得非常详细的输出,因为对齐更改将使几乎每个后续字节都变得不匹配。
关于ubuntu - 只有一个字符的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56978087/