GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser awk pour imprimer toutes les colonnes de la nième à la dernière

Il y a une question en double avec une réponse plus simple en utilisant couper :

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

-d spécifie le délimiteur (espace) , -f spécifie la liste des colonnes (toutes commençant par la 2ème)


Imprimer toutes les colonnes :

awk '{print $0}' somefile

Tout imprimer sauf la première colonne :

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

Imprimer toutes les colonnes sauf les deux premières :

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

Vous pouvez utiliser une boucle for pour parcourir les champs d'impression $2 à $NF (variable intégrée qui représente le nombre de champs sur la ligne).

Edit :Puisque "print" ajoute une nouvelle ligne, vous voudrez mettre les résultats en mémoire tampon :

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

Sinon, utilisez printf :

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

Linux
  1. Utilisation de Stratis pour gérer le stockage Linux à partir de la ligne de commande

  2. Utilisation de Google Drive à partir de la ligne de commande Linux

  3. Imprimer la ligne correspondante et la nième ligne à partir de la ligne correspondante ?

  4. Remplacer toutes les nouvelles lignes par un espace sauf la dernière ?

  5. Comment imprimer la troisième colonne à la dernière colonne ?

Tutoriel sur l'utilisation de la dernière commande dans le terminal Linux

Supprimer tous les fichiers d'un dossier sauf le dernier (le plus récent) 20 ?

Linux - Imprimer la mémoire libre totale à partir de `free -m` ?

Comment imprimer les membres d'un objet c++ en utilisant GDB à partir d'une adresse si le type de classe de l'objet est comme A ::B

Signification des colonnes dans la dernière commande

Utiliser awk pour additionner les valeurs d'une colonne, en fonction des valeurs d'une autre colonne