Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/11/2016, à 21:02

lynn

[RÉSOLU] Awk - de $.. à $...

Bonjour,

Y-a-t-il une syntaxe pour remplacer cette commande

awk '{print $4,$5,$6,$7,$8,$9}' fichier

par

awk '{print $4 à $9}' fichier

ou alors

awk '{print $4 jusqu'au dernier élément}' fichier

Je n'ai rien trouvé dans ce sens dans le man...

Merci.

Dernière modification par lynn (Le 05/11/2016, à 17:35)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#2 Le 01/11/2016, à 21:35

Watael

Re : [RÉSOLU] Awk - de $.. à $...

salut,

une boucle de 4 à «nombre de champs».


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 01/11/2016, à 21:36

k3c

Re : [RÉSOLU] Awk - de $.. à $...

ou

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

Archlinux sur Xiaomi Air 13

Hors ligne

#4 Le 01/11/2016, à 23:06

lynn

Re : [RÉSOLU] Awk - de $.. à $...

Une boucle fonctionne mais je pensais qu'il y avait plus simple...

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

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#5 Le 02/11/2016, à 08:46

pingouinux

Re : [RÉSOLU] Awk - de $.. à $...

Bonjour,
Tu peux aussi faire ceci :

sed 's/[ \t]\+/ /g' fichier | cut -d" " -f4-

Et si les champs ne sont séparés que par une espace :

cut -d" " -f4- fichier

Ajouté : La commande est à adapter si des caractères d'espacement précèdent le premier champ

sed 's/^[ \t]\+//;s/[ \t]\+/ /g' fichier | cut -d" " -f4-

Dernière modification par pingouinux (Le 02/11/2016, à 08:53)

Hors ligne

#6 Le 02/11/2016, à 09:36

lynn

Re : [RÉSOLU] Awk - de $.. à $...

Merci à tous. Je vais potasser tout ça. smile


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne