Je compare deux fichiers texte et j'obtiens le résultat suivant :
diff file1 file2 | grep 12345678
> 12345678
< 12345678
Comme vous pouvez le voir, la même chaîne existe dans les deux fichiers, et les deux fichiers ont été triés avec sort
.
Les terminaisons de ligne doivent gêner ici (Windows vs. Unix).
Y a-t-il un moyen d'obtenir diff
pour ignorer les fins de ligne sous Unix ?
11 votes
diff --strip-trailing-cr file1 file2
?1 votes
@RuslanOsmanov ça ressemble à une réponse, merci. En fait, c'est la même chose que
-w
?8 votes
Non,
-w
ignore les différences dans les espaces blancs, et"White space" characters include tab, vertical tab, form feed, carriage return, and space
. Par exemple,diff a b
montrera la différence pour `ligne` et<tab>line
maisdiff -w a b
ne le fera pas0 votes
@RuslanOsmanov C'est une bonne explication, pourriez-vous la transformer en réponse pour que je puisse l'accepter.
0 votes
Cela répond-il à votre question ? Diffusion agnostique en bout de ligne ? . Près de 9 ans auparavant.
0 votes
@PeterMortensen pas exactement, cette question parle de l'utilisation de grep et d'autres outils unix, ce qui nécessiterait une conversion en ligne (par exemple via sed). Cette question concerne purement l'utilisation de diff, où les arguments de
diff
sont la meilleure solution.