Você pode pré-processar os arquivos e comparar o fluxo. Por exemplo. use tr
para excluir todos os espaços e novas linhas.
diff <( tr -d ' \n' <file1 ) <( tr -d ' \n' <file2)
Arquivos de exemplo são a
e b
que compartilham texto, mas não espaço e novas posições:
cat a
1
2
3
cat b
1 2 3
diff -sq a b
Files a and b differ
diff -sq <( tr -d ' \n' <a ) <( tr -d ' \n' <b )
Files /dev/fd/63 and /dev/fd/62 are identical
Note que
- Isso não será diferente entre
these words
eth esew ord s
- Você precisa prestar muita atenção em quais caracteres você está excluindo
-
Os nomes dos arquivos de saída de
diff
são nomes de fluxo e não nomes de arquivo
Veja man tr
para caracteres especiais, como guias etc. (talvez o [:space:]
definido corresponda melhor às suas necessidades)