GNU/Linux >> Linux Esercitazione >  >> Linux

Sed:eliminare tutte le occorrenze di una stringa tranne la prima?

Ho un file di registro con timestamp. Occasionalmente ci sono più timestamp in una riga. Ora vorrei rimuovere tutti i timestamp da una riga ma mantenere il primo.

Posso fare s/pattern//2 ma questo rimuove solo la seconda occorrenza e sed non consente qualcosa come s/pattern//2- .

Qualche suggerimento?

Risposta accettata:

Con GNU sed :

sed 's/pattern//2g'

Il 2 specifica che il secondo pattern e tutto il restog dovrebbe rimuovere. Quindi questo manterrà il primo.


Linux
  1. 3 modi per eliminare tutti i file in una directory tranne uno o pochi file con estensioni

  2. Restituisci solo la stringa abbinata in Sed?

  3. Elimina tutti i file tranne che in una determinata sottodirectory con Trova?

  4. Mostra tutto il file fino alla partita?

  5. Eliminare i vecchi file di registro tranne l'ultimo (ordinato in ordine alfanumerico)?

Come eliminare le prime N righe di un file Ascii utilizzando i comandi della shell?

Utilizzare Trova per trovare una determinata directory ed eliminare tutti i file in essa contenuti tranne una directory?

sed principiante:modifica di tutte le occorrenze in una cartella

Rimuovi le occorrenze della stringa nel file di testo

Elimina tutti i file tranne i 3 più recenti nello script bash

Sostituisci tutti i caratteri tranne i primi quattro caratteri