Domanda

C'è una cosa che trova i numeri utilizzando espressioni regolari e possono eseguire operazioni aritmetiche semplici ad esso?

Immaginate di avere un file sorgente / config memorizzare posizioni e dopo cambia il codice che richiede un offset ora. Come si fa normalmente andare su questo senza farlo manualmente?

Modifica: Lo sapevo che avrei dovuto aggiungere questo bit con il post orignal. Io preferirei qualcosa di piccolo e facilmente acquisibile da qualsiasi luogo. Sono consapevole di Cygwin e le meravigliose set Util di Linux che è per questo che ho esplicitamente messo di Windows nel titolo.

È stato utile?

Soluzione

Procuratevi una copia di Cygwin e allenarti su bash, awk, sed, grep e la loro fratelli.

La lingua cmd di Windows ha fatto molta strada dai giorni di morte cerebrale di MSDOS 3.3 ma non è ancora una verruca sulla parte posteriore degli strumenti UNIX. Cygwin ti dà tutti gli strumenti e molto altro ancora.

Un modo di fare il tuo compito specifico (se ho capito bene) è di cambiare:

a b 70         into         offset 60
c d 82                      a b 10
e f 90                      c d 22
                            e f 30

Il comando seguente mostra come utilizzare awk a acheive che:

$ echo 'a b 70
        c d 82
        e f 90' | awk '
    BEGIN {
        print "offset 60"
    }
    {
        print $1, $2, $3-60
    }'

Questo è formattato per migliorare la leggibilità -. Vorrei tendono a fare tutto su una linea e ottenere il mio input da un file piuttosto che facendo eco, ma questo è solo a scopo dimostrativo

Se volete qualcosa di un po 'più leggero (in termini di ciò che è necessario installare - è ancora molto powerrful), GnuWin32 può dare singoli packagaes. Basta installare gawk o qualunque cosa avete bisogno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top