Esta resposta mostra como diff
duas strings - Usando o comando diff para comparar duas strings?
Eu tento:
diff <( printf '%s\n' "tring1" ) <( printf '%s\n' "string2" )
A saída é:
1c1
< tring1
---
> string2
Isso mostra que as duas cordas são diferentes.
Eu gostaria de saber em quais caracteres as duas strings são diferentes, ou pelo menos o primeiro caractere onde a diferença começa. Como eu posso fazer isso?
Isso é importante ao comparar URLs longos.
Eu estudo outras respostas com base git diff
no diff dentro de uma linha
eu tento
git diff --word-diff --word-diff-regex=. <( printf '%s\n' "tring1" ) <( printf '%s\n' "string2" )
A saída é:
diff --git a/dev/fd/63 b/dev/fd/62
index 9234a649..b6ce327a 120000
--- a/dev/fd/63
+++ b/dev/fd/62
@@ -1 +1 @@
pipe:[69160538[-6-]{+8+}]
Não tenho certeza se aplico git diff
corretamente e como interpretar a saída.
cmp
- comparar dois arquivos byte por bytePara seu caso de uso específico, armazene as strings em arquivos e compare-as com
git diff
:Isso mostra que o caractere “s” foi adicionado no início da string e que “1” se tornou “2”.