2013-12-10 5 views
5

Quindi, ho uno script di shell per automatizzare alcuni comandi SVN. Eseguo sia un file di registro che uno stdout durante lo script e indirizzo l'output SVN a/dev/null. Ora vorrei includere l'output SVN nel mio logging, ma per separarlo dal mio output mi piacerebbe anteporre un \t a ciascuna riga dell'output SVN. Questo può essere fatto con lo scripting della shell?Aggiunta di un carattere di tabulazione prima dell'output dello script esterno

Modifica È qualcosa che potrei usare AWK? Indagherò!

Modifica Quindi, utilizzando AWK sembra fare il trucco. Purtroppo non riesco a farlo funzionare con i comandi svn però.

svn add * | awk '{ print "\t"$0 }' 

Uscite senza carattere di tabulazione anteposto. Ma se corro per esempio ls

ls -l | awk '{ print "\t"$0 }' 

La directory è elencato con un carattere di tabulazione di fronte a ogni riga.

Modifica Grazie a @daniel! Ho finito con questo

svn add * 2>&1 | sed 's/^/\t/' 

Potrebbe partecipavano notare che awk funziona bene per questo, se usato correttamente

svn add * 2>&1 | awk '{print "\t"$0 }' 
+0

Quale codice avete finora? – Daniel

+0

Beh, ho pensato che potrei usare AWK per questo. Anche se non sono sicuro di come indirizzare l'output da SVN a AWK. Aspetta, accedo e prendo il codice in un secondo –

risposta

6

È possibile utilizzare Sed. Invece di reindirizzare l'output del comando SVN a /dev/null, è possibile collegarlo a Sed.

svn ls https://svn.example.com 2>&1 | sed 's/^/ /' 
Problemi correlati