是否有一个选项可以让 diff (-q) 不查看文件内容,而只查看大小和 mtime?如果没有,是否有类似的工具可以提供此选项?
我的差异显示了两个日志文件之间的一些数字差异。这意味着例如:
fileA:
Parameter n (fill abs)
/All_Data/Height 9830400
fileB:
Parameter n (fill abs)
/All_Data/Height 9830500
Run Code Online (Sandbox Code Playgroud)
所以,如果diff命令在文件之间执行:
% diff fileA fileB
->
< /All_Data/Height 9830400
---
> /All_Data/Height 9830500
Run Code Online (Sandbox Code Playgroud)
我想在 diff 命令中设置一个阈值,意思是
500。所以9830400-9830500=100。不应显示任何差异。我已经将diff-highlight设置为 git 的分页器/荧光笔。
[pager]
log = diff-highlight | less
show = diff-highlight | less
diff = diff-highlight | less
Run Code Online (Sandbox Code Playgroud)
效果很好。
但是如何将 diff-highlight 用于普通 diff 呢?
我正在尝试编写一个脚本,当静态网页发生更改时会通知我。为此,我使用wget下载网页,并diff检查它是否已更改。我正在运行 Ubuntu 20.04 LTS 虚拟机。这是示例:
$ wget --quiet https://twiki.di.uniroma1.it/twiki/view/Reti_Avanzate/InternetOfThings2021 -O file1
$ wget --quiet https://twiki.di.uniroma1.it/twiki/view/Reti_Avanzate/InternetOfThings2021 -O file2
$ diff -q file1 file2
Files file1 and file2 differ
Run Code Online (Sandbox Code Playgroud)
如您所见,diff报告两个文件之间的差异。为什么?即使我试图将它们与diff -y它们对我来说看起来一样。
更新
寻找差异与git diff --color-words -- file1 file2给出以下结果:
显然,有一个字段添加了时间戳,在两个文件之一中,另一个文件<!--GENERATED_HEADERS-->中没有。
关于如何解决它的任何想法?
我有两个大型制表符分隔文件(>10GB),我知道当它们排序时,它们的内容是相同的。
但是,我对行的顺序和交换的行的索引感兴趣,当它们共享相同的“键”时(此处的键定义为基于Source和Location列分组的行)。
换句话说,只有当这两个文件之间的行来自同一组时(即,当它们共享相同的源和位置时),才应相互比较。
例如,在下面的示例中,第 4、5、6 行file1.tsv应与来自的第 4、5、6 行进行比较file2.tsv
注意:文件是普通的 TSV。仅在此处添加额外的空格以使列居中和右对齐以获得更好的可见性。这些空格不是原始文件的一部分
文件1.tsv
Identifier Position Source Location
AY1:2301 87 ch1 14
BC1U:4010 105 ch1 14
AC44:1230 90 ch1 15
AJC:93410 83 ch1 16
ABYY:0001 101 ch1 16
ABC:01 42 ch1 16
HH:A9CX 413 ch1 17
LK:9310 2 ch1 17
JFNE:3410 132 ch1 18
MKASDL:11 14 ch1 18
MKDFA:9401 18 ch1 18
MKASDL1:011 184 ch2 50
LKOC:AMC02 18 ch2 50
POI:1100 900 ch2 53
MCJE:09HA 11 …Run Code Online (Sandbox Code Playgroud) 我试图找到一些十六进制 difftool,它允许我与视图中的文档进行比较,但也可以比较内部差异,例如bless并排的两个 bless 窗口,但窗口之间具有差异功能,至少用于选择。我发现这bless - A full featured hexadecimal editor可能是集成的最佳选择。
在任何 Linux 发行版中是否有用于 hex-ascii 视图的 difftool?
我想编写一个 bash 脚本来在一个目录中而不是在另一个目录中查找这些文件。
下面的脚本有效吗?什么时候不行?
for i in "$1"/*; do
f=$(basename $i);
if [ ! -e "$2"/"$f" ]
then
echo $f
fi
done
Run Code Online (Sandbox Code Playgroud)
我听说diff 也可以找到两个目录内容之间的差异。它也能解决同样的任务吗?
或者其他什么工具?
谢谢。
我有两个文件,(没有空行/空格/制表符)
aa
bb
cc
hello
SearchText.json
xyz.txt
Run Code Online (Sandbox Code Playgroud)
SearchText.json
Run Code Online (Sandbox Code Playgroud)
我想要的最终输出是:(来自 /tmp/all 的所有不常见行)
aa
bb
cc
hello
xyz.txt
Run Code Online (Sandbox Code Playgroud)
我尝试过以下命令:-
# comm -23 /tmp/required /tmp/all
SearchText.json
Run Code Online (Sandbox Code Playgroud)
# comm -23 /tmp/all /tmp/required
aa
bb
cc
hello
SearchText.json
xyz.txt
Run Code Online (Sandbox Code Playgroud)
# comm -13 /tmp/all /tmp/required
SearchText.json
Run Code Online (Sandbox Code Playgroud)
# comm -13 /tmp/required /tmp/all
aa
bb
cc
hello
SearchText.json
xyz.txt
Run Code Online (Sandbox Code Playgroud)
# grep -vf /tmp/all /tmp/required
# grep -vf /tmp/required /tmp/all
aa
bb
cc
hello
SearchText.json
xyz.txt
Run Code Online (Sandbox Code Playgroud)
# comm -23 <(sort /tmp/all) <(sort /tmp/required)
aa
bb
cc
hello …Run Code Online (Sandbox Code Playgroud) 我正在学习一些编程面试问题,所以我编写了 FizzBuzz。我正在尝试将我的程序的输出与 .txt 文件中的已知良好输出进行比较。
我如何检查node fizzbuzz.js输出是一行一行的等于一个expected-output.txt文件,甚至是diff它们?
我已经按照重复问题中的建议进行了尝试:
diff -u expected-output.txt <(node fizzbuzz.js)
但diff什么都不输出,似乎永远不会退出,直到 I ^C。该程序本身运行良好,diff -u expected-output.txt <(cat test.txt)但node由于某种原因,它似乎不能很好地运行。