Existem duas maneiras fáceis de fazer isso, você pode analisar a saída de diff
ou você pode usar comm
.
-
diff fileA fileB | grep '>' | sed 's/> *//'
-
comm -13 fileA fileB
Eu tenho 2 arquivos que eu quero diferir. O arquivo B é produzido anexando alguma nova linha ao arquivo A.
Quero destacar os dados anexados usando diff
.
Eu gostaria de evitar imprimir o '>' caracteres e o '10a11,14' da saída abaixo.
Lendo as man pages de diff
, posso ver que você pode especificar a formatação do resultado (LFMT), mas estou lutando para produzir algo útil.
Você poderia ajudar a remover os personagens que eu não preciso?
Atenciosamente
AFG
diff --left-column A.txt B.txt
10a11,14
> TXT : some text
> some text
> some text
> some text
Embora mais digitação do que apenas usar comm
, o seguinte fornece uma demonstração das opções --GTYPE-group-format
:
diff --unchanged-group-format="" --new-group-format="%>" A.txt B.txt
Esse comando só imprimiria essas linhas em B.txt
e não em A.txt
. A primeira opção suprime linhas comuns. Não há necessidade de usar --changed-group-format
(nenhuma linha que tenha valores diferentes em cada arquivo) ou --old-group-format
(tudo em A.txt
também está em B.txt
).