146 votes

Imprimer la troisième colonne jusqu'à la dernière colonne

J'essaie de supprimer les trois premières colonnes (qui ne m'intéressent pas) d'un fichier journal DbgView. Je n'arrive pas à trouver un exemple imprimant à partir de la colonne 3 jusqu'à la fin de la ligne. Notez que chaque ligne a un nombre variable de colonnes.

130voto

Marcin Points 1409

... ou une solution plus simple: cut -f 3- INPUTFILE ajoutez simplement le bon délimiteur (-d) et vous obtenez le même effet.

129voto

Jonathan Feinberg Points 24791
awk '{for(i=3;i<=NF;++i)print $i}'

121voto

daisaa Points 165

38voto

Dennis Williamson Points 105818

La réponse de Jonathan Feinberg imprime chaque champ sur une ligne distincte. Vous pouvez utiliser printf pour reconstruire l'enregistrement pour une sortie sur la même ligne, mais vous pouvez également déplacer les champs d'un saut vers la gauche.

 awk '{for (i=1; i<=NF-3; i++) $i = $(i+3); NF-=3; print}' logfile
 

23voto

ghostdog74 Points 86060
 awk '{$1=$2=$3=""}1' file
 

NB: cette méthode laissera des "blancs" dans les champs 1, 2, 3, mais ce n’est pas un problème si vous voulez seulement regarder la sortie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X