Ricerche globali

Sintassi:

[range]g/espr_reg/[comando]
  • Applicato a tutte le linee di range
  • Lista (inizio,fine) come in ed o espressione regolare
  • Ricerca espr_reg un'espressione regolare
  • Esegue il comando specificato
    • p - mostra le righe trovate
    • # - mostra le righe col numero di riga
    • d - cancella le righe trovate
    • y - copy (yank) delle righe trovate
    • normal comando - esegue il comando esteso vi su ogni riga trovata

Esempi

  • g/the$/p
    • Mostra tutte le righe che terminano con the
  • .,$g/^ *pippo/#
    • Dalla riga corrente a fine file mostra i numeri e le righe contenenti pippo dopo un qualsiasi numero di spazi da inizio riga
  • g/^$/d
    • Cancella tutte le righe vuote
  • 1,/^Examples/g/^Section/+y
    • Da inizio file alla riga che comincia con Examples copia la linea dopo quella che inizia con Section
  • g/^Section/normal ONew
    • Trova tutte le righe che cominciano con Section e aggiungi prima di esse una riga contenente New

Il comando g/Regular_Expression/p è così usato e utile, che è diventato il comando linux grep.

Sostituzioni globali

Sintassi:

[range]s/espr_reg/str_rimpiazzo/[flags][conto]
  • Applicato a tutte le linee di range
    • Lista (inizio,fine) o espressione regolare
  • Ricerca espr_reg, un'espressione regolare
  • La sostituisce con la stringa di rimpiazzo
  • Secondo le modalità dei flags
    • c - chiede conferma
    • i - ignora case
    • I - obbedisce al case (default)
    • n - non esegue la sostituzione
    • p - stampa solo le linee trovate (non è necessaria la stringa di rimpiazzo)
  • Esegue conto volte (default una)
    • n - (numero) volte
    • g - ogni volta sulla linea