Alcune persone che arrivano a questa pagina potrebbe essere cercando un diffetto line-by-line piuttosto che un diff-code. Se è così, e con coreutils, è possibile utilizzare:
comm -23 <(curl http://to.my/file/one.js | sort) \
<(curl http://to.my/file.two.js | sort)
Per ottenere righe nel primo file che non sono nel secondo file. È possibile utilizzare comm -13
per ottenere le righe nel secondo file che non si trovano nel primo file.
Se non sei limitato a coreutils, si potrebbe anche usare sd (Flusso di diff), che non richiede l'ordinamento né sostituzione di processo e supporta i flussi infiniti, in questo modo:
curl http://to.my/file/one.js | sd 'curl http://to.my/file.two.js'
Il fatto che supporta flussi infiniti per alcuni casi d'uso interessanti: potresti usarlo con un ricciolo all'interno di un ciclo while(true)
(supponendo che la pagina ti dia solo risultati "nuovi"), e sd
interromperà lo stream dopo un tempo specificato senza nuove linee in streaming .
Ecco un blogpost Ho scritto su flussi diffcativi sul terminale, che introduce sd
.
Scriverli sul filesystem locale? :) – Ryan
Che dire di 'diff <(curl oneweb) <(curl otherweb)'? – fedorqui
@fedorqui perché non rispondere con questo? è corretto :) –