GNU/Linux >> Linux Esercitazione >  >> Linux

Come generare file e ignorare le righe che iniziano con "?"?

Eseguo svn status --show-updates e poi voglio entrambi

  • Q1:
    ignora (non visualizzare) le righe che iniziano con ?
  • Q2:
    visualizza solo le righe che iniziano con * Nota che ci sono pochi spazi prima che si verifichi *. Ciò significa che * non è il primo carattere della riga.

Come posso farlo?

Risposta accettata:

Puoi esprimere queste condizioni usando espressioni regolari e usare grep per filtrare i risultati in base a quelli.

Il primo è ^? . Il carato è un carattere speciale che rappresenta l'inizio di una linea; in modo che l'espressione corrisponda all'inizio della riga immediatamente seguito da un ? .

Il secondo è ^ *\* . Il * è un carattere speciale che qualifica il carattere precedente:significa che il carattere precedente può apparire zero o più volte. Dal * è un carattere speciale, quello che stai cercando deve essere sottoposto a escape, quindi \* . Quindi quell'espressione corrisponderà all'inizio di una riga seguita da zero o più spazi, seguiti da un asterisco.

Per la tua prima condizione, usa -v opzione per grep per negare i risultati.

Quindi, finalmente,

svn status --show-updates | grep -v '^?'

o

svn status --show-updates | grep '^ *\*'

Le espressioni regolari sono molto potenti, quindi molti strumenti Unix possono usarle. Vale davvero la pena impararli. C'è un ottimo tutorial su regular-expressions.info.


Linux
  1. Come fare in modo che Iconv sostituisca il file di input con l'output convertito?

  2. Come si combinano tutte le righe che terminano con un carattere barra rovesciata?

  3. Come scrivere un file con C in Linux?

  4. Come aggiungere l'output a un file?

  5. Come posso richiedere un file ma non salvarlo con Wget?

Come mescolare le linee in un file in Linux

Come invertire le righe in un file in base al carattere in Linux

Come eseguire il grep con l'output a colori

Come rimuovere il carattere \r con sed

Come reindirizzare l'output del servizio systemd su un file

iftop - come generare un file di testo con il suo output?