Diferencia entre una cadena y un file

Básicamente, quiero verificar la diferencia del mismo file antes y después de un sed

Trató de correr:

 diff /opt/postTrades.sh <<< $(sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) 

y

 diff <<< $(sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) < /opt/postTrades.sh 

y

 diff <<< (sed 's/1\ MIN/10\ MIN/g' /opt/postTrades.sh) < /opt/postTrades.sh 

Siempre obteniendo:

 diff: missing operand after '/opt/postTrades.sh' diff: Try 'diff --help' for more information. 

¿Cuál es la forma correcta de hacerlo? Gracias.

diff necesita dos operandos de file. Con una cadena aquí, pasa la input a diff en su input estándar.

Para hacer que diff lea de la input estándar, use - como el nombre de file:

 $ diff file - <<<"$( sed 'expression' file )" 

o, más portátil,

 $ sed 'expression' file | diff file - 

Si está utilizando un shell que admite sustituciones de processs con <(...) , como bash y ksh93 , esta puede ser otra solución:

 $ diff file <( sed 'expression' file ) 

La sustitución del process aparecerá como un file a diff y es prácticamente "lo mismo que":

 $ sed 'expression' file >tempfile $ diff file tempfile $ rm tempfile