GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di awk per stampare tutte le colonne dall'ennesima all'ultima

C'è una domanda duplicata con una risposta più semplice usando cut:

 svn status |  grep '\!' | cut -d\  -f2-

-d specifica il delimitatore (spazio) , -f specifica l'elenco delle colonne (tutte iniziano con la seconda)


Stampa tutte le colonne:

awk '{print $0}' somefile

Stampa tutto tranne la prima colonna:

awk '{$1=""; print $0}' somefile

Stampa tutto tranne le prime due colonne:

awk '{$1=$2=""; print $0}' somefile

Puoi utilizzare un ciclo for per eseguire il ciclo dei campi di stampa da $2 a $NF (variabile incorporata che rappresenta il numero di campi sulla riga).

Modifica:Poiché "print" aggiunge una nuova riga, ti consigliamo di bufferizzare i risultati:

awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'

In alternativa, usa printf:

awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'

Linux
  1. Utilizzo di Stratis per gestire l'archiviazione Linux dalla riga di comando

  2. Sostituire tutte le nuove righe nello spazio tranne l'ultima?

  3. Qual è la differenza tra stampa e stampa in Awk?

  4. Come stampare dalla terza colonna all'ultima colonna?

  5. Utilizzo di openssl per ottenere il certificato da un server

Quando è stata l'ultima volta che hai usato Windows?

Tutorial sull'utilizzo dell'ultimo comando nel terminale Linux

Stampa la riga di corrispondenza e l'ennesima riga dalla riga di corrispondenza?

Eliminare tutti i file in una cartella tranne l'ultimo (più recente) 20?

Linux – Stampa la memoria libera totale da `free -m`?

Utilizzo di awk per sommare i valori di una colonna, in base ai valori di un'altra colonna