(toiminnot)

hwechtla-tl: Worddiff: viime muutokset

Worddiff ja sen käyttöohje on nykyään osa userland-scripts:a:

* http://members.sange.fi/~atehwa/vc/prod/userland-scripts/worddiff * http://members.sange.fi/~atehwa/vc/prod/userland-scripts/worddiff.stx

[...]

Muutokset ensimmäisestä tiedostosta toiseen näytetään siten, että poistetut sanat merkitään -elementeillä ja lisätyt sanat -elementeillä. Ohjelma rivittää tekstin uudelleen mennessään (kummankaan lähdetiedoston rivitys ei ole välttämättä tulosteen kannalta oikein), rivitysleveyttä saa muutetuksi -w-valitsimella. Jos ei ole kiinnostunut kappaleista, joihin ei ole tullut muutoksia, ne saa jätetyksi pois -o- tai -m-valitsimella.

[...]

{{{ #!/bin/sh

CAT=cat WIDTH=72 NO_CHANGE='s#^##' test "x$1" = "x-m" && NO_CHANGE='s#.*#[...]#' && shift test "x$1" = "x-o" && NO_CHANGE='d' && shift test "x$1" = "x-w" && WIDTH="$2" && shift && shift test "x$1" = "x--try-mailcap" && CAT='run-mailcap && shift test -z "$2" && echo "Usage: $0 [-m | -o] [-w num] file1 file2" 1>&2 && exit 1

TEMPFILE=`mktemp` trap 'rm $TEMPFILE' 0 1 15

wordify () { sed 's#^[[:space:]]*$##' | cat -s | \ sed 's#^ *$#

#'

| tr -s '[:space:]' \\012 }

markdiffs () { sed '/^---/d;/^+++/d;/^@@/d' | \ sed 's#^-\(.*\)$#\1#;s#^+\(.*\)$#\1#;s#^ ##' | \ sed ': start;/

/!{;N;s#\n#

#;b start;}' | \ sed 's#

#

#;s#

#

#;s#

$##'

| \ sed "//!{;//!$NO_CHANGE;}" | \ sed 's# # #g;s# # #g' }

$CAT "$1" | wordify > $TEMPFILE $CAT "$2" | wordify | diff -U 15000 $TEMPFILE - | \ markdiffs | uniq | sed 's#^#

#;G'

| fold -s -w "$WIDTH" }}}


(viimeksi muutettu 19.11.2015 23:17)