diff
precisa de dois operandos de arquivo. Com uma string here, você passa a entrada para diff
em sua entrada padrão.
Para tornar diff
da entrada padrão, use -
como o nome do arquivo:
$ diff file - <<<"$( sed 'expression' file )"
ou, mais portável,
$ sed 'expression' file | diff file -
Se você estiver usando um shell que suporte substituições de processo com <(...)
, como bash
e ksh93
, isso pode ser outra solução:
$ diff file <( sed 'expression' file )
A substituição do processo será mostrada como um arquivo para diff
e é praticamente "o mesmo que":
$ sed 'expression' file >tempfile
$ diff file tempfile
$ rm tempfile