标签: diff

bash脚本中的目录差异

我有一个 bash 脚本,它将两个存档(jar 文件)扩展到两个目录中,然后对两个文件夹进行比较。我希望将差异通过管道传输到文件中,因此我在 bash 文件中执行此操作。

diff -r $originalJarExtracted $assembledJarExtracted >target/$diffList
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它也会停止脚本,之后的任何内容都不会执行。我怎样才能让 diff 将其输出通过管道传输到文件中并使脚本继续运行。我查看了 diff 的信息和手册页,但无法使其正常工作。顺便说一句,我正在 mac 上运行脚本。

仅供参考,脚本在 github 上

bash diff

0
推荐指数
1
解决办法
1103
查看次数

如何比较总文件

假设我有 2 个配置文件,例如:文件 1:

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
virtual_gid_maps = static:5000
Run Code Online (Sandbox Code Playgroud)

文件2:

virtual_gid_maps = static:5000
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
Run Code Online (Sandbox Code Playgroud)

如果您仔细观察,您会看到一起有一行开头,virtua_gid_*但文件 1 将其放在文件末尾,而文件 2 将其放在文件头。

假设我有 2 个具有不同位置的相同行的文件,但位置对我来说并不重要,成为或不成为很重要。

我如何比较我的文件?

scripting diff

0
推荐指数
1
解决办法
78
查看次数

管道问题

为什么我不能做这样的事情:

tail -n 5 small.txt | diff small.txt
Run Code Online (Sandbox Code Playgroud)

我想像第二个参数一样传递第一个命令的执行结果,而不是独立输入。我该怎么做?

bash pipe diff

0
推荐指数
1
解决办法
60
查看次数

'grep -v "^[...]"' 是什么意思?

我写了这样一行diff fileA.txt fileB.txt | grep -v "^[11,12d9]"。如果没有该grep部件,输出将如下所示:

1d0  
< loop  
11,12d9  
< polo  
< pool  
Run Code Online (Sandbox Code Playgroud)

但是使用grep,输出将如下所示:

< loop  
< polo  
< pool  
Run Code Online (Sandbox Code Playgroud)

我认为这grep -v有点像反向搜索。但我不明白这^[11,12d9]部分,它有什么作用?

grep diff

0
推荐指数
1
解决办法
65
查看次数

标签 统计

diff ×4

bash ×2

grep ×1

pipe ×1

scripting ×1