Domanda

Ho ricevuto il compito bianco etichettatura di un'applicazione in modo che essa non contiene riferimenti alla nostra società, sito web, etc.Il problema che ho sono in esecuzione in è che ho molti modelli diversi, per cercare e desidera garantire che tutti i modelli sono rimossi.Dal momento che l'applicazione non è stata sviluppata in-house (del tutto), non possiamo semplicemente cercare occorrenze nei messaggi.proprietà e il gioco è fatto.Dobbiamo passare attraverso JSP, codice Java e xml.

Io sono l'uso di grep per filtrare i risultati come questo:

grep SOME_PATTERN . -ir | grep -v import | grep -v // | grep -v /* ...

I modelli sono fuggiti quando io li sto usando la riga di comando;tuttavia, non credo che sia questo il pattern matching è molto robusto.Ci potrebbe essere occorrenze di importazione in loro (improbabile) o anche /* (l'inizio di un commento javadoc).

Tutto il testo di output a schermo, deve venire da una stringa di dichiarazione da qualche parte o un file costanti.Così, posso supporre posso trovare qualcosa di simile:

public static final String SOME_CONSTANT = "SOME_PATTERN is currently unavailable";

Vorrei trovare tale occorrenza anche come:

public static final String SOME_CONSTANT = "
SOME_PATTERN blah blah blah";

In alternativa, se abbiamo avuto un interno crawler / test automatizzati, si potrebbe semplicemente tirare indietro la xhtml da ogni pagina e verificare la fonte per garantire che è stato pulito.

È stato utile?

Soluzione

Vorrei utilizzare sed , non grep ! Sed è utilizzato per eseguire le trasformazioni di testo di base su un flusso di input. Prova opzione s/regexp/replacement/ con il comando sed.

Si può anche provare awk di comando. Ha un'opzione -F per la separazione campi, è possibile utilizzarlo con ; per separare le righe di voi file con ;.

La soluzione migliore sarà comunque un semplice script in Perl o Python .

Altri suggerimenti

Per affrontare la vostra preoccupazione la mancanza di alcune occorrenze, perché non filtro progressivamente:

  1. Creare un file di testo con tutti i possibili partite come un punto di partenza.
  2. Usare il filtro X (grep per '^importazione', per esempio) per eseguire il dump probabile false positivi in un file tmp.
  3. Usare il filtro di nuovo X per rimuovere quelle partite dal vostro file di lavoro (un copia di [1]).
  4. Fare una rapida passata di tmp file e aggiungere qualsiasi reale le partite di ritorno in.
  5. Ripetere [2]-[4] con altri filtri.

Questa operazione potrebbe richiedere un po ' di tempo, naturalmente, ma non sembra che questo è qualcosa che si desidera avere sbagliato...

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