2 votes

comment colorer la sortie pour deux chaînes différentes dans deux fichiers différents en Bash

J'ai deux fichiers qui contiendront toujours des chaînes de caractères différentes. Je veux connaître un moyen d'imprimer tout ce qui se trouve dans ces deux fichiers et de ne mettre en évidence que les différences entre eux.

$cat file1.txt
fox:1
bike:3
beer:21

$cat file2.txt
fox:1
beer:22
bike:3

$pr -m -t file1.txt file2.txt
fox:1                         fox:1
beer:21                       bike:3
bike:3                        beer:22

Je veux beer:21 beer:22 pour être mis en évidence en rouge. gardez à l'esprit que beer n'est pas toujours présent dans l'un des fichiers ou existe mais sous un nom différent comme apple:0

2voto

طاهر Points 2651

Vous pouvez utiliser diff et définir la couleur des lignes modifiées :

diff --old-group-format=$'\e[0;31m%<\e[0m' 
     --new-group-format=$'\e[0;31m%>\e[0m'      
     --unchanged-group-format=$'\e[0;32m%=\e[0m'    file1 file2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X