Forum Programmation.shell [awk] mettre une variable sur print

Posté par  . Licence CC By‑SA.
Étiquettes :
0
10
jan.
2023

Bonjour,

j'ai besoin d'un coup de main pour solutionner mon soucis.
J'utilise cette ligne de commande.

pdfgrep --max-count 1 "Date" $fichier1 | awk '{print $9}'

elle me permet de détecter un champs sur un pdf. Par contre mon soucis :
la colonne n'est toujours pas 9, elle peut être la 10 à 12.

donc ma question :
peut-t-on mettre une variable à la place $9?

merci de votre aide

Forum Programmation.shell Recherche commande

Posté par  . Licence CC By‑SA.
Étiquettes :
1
21
déc.
2022

Bonjour,

J'ai ce fichier :
XVI 931376 +
XVI 933898 -
XVI 934034 +
XVI 938148 -
XVI 939279 -
XVI 939922 +
XVI 943032 +
XVI 943880 +
XVI 944603 +
XVI 946856 -

J'aimerais créer une variable qui, compte le nombre de "groupements +" de sorte à sortir :
3 (le groupe de 4 plus compte pour 1).

Je recherche sur pleins de forums mais je ne trouve rien…
Merci !

Journal TapTempo contest : un peu moins d'octets en Awk

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
21
14
jan.
2021

Voici une implémentation de TapTempo encore plus compacte que l'indigeste one-liner Perl précédent (https://linuxfr.org/users/zerodeux/journaux/taptempo-en-une-ligne), elle vous est offerte par Loïc Cerf qui me l'a soumise et me propose de vous la partager.

J'ai donc l'honneur de vous transmettre sa solution en 97 caractères :

$ awk '{system("date +%s%N")}'|awk '{t[++k]=$0}k>5{r=k-5}k>1{printf"%i",6e10*(k-r-1)/($0-t[r+1])}'

Le comportement est identique à celui de la ligne Perl de Vincent. Elle considère notamment le temps il y a cinq tapes sur la touche Entrée, moins (…)

Forum Linux.débutant Modification d'un fichier, variable avec awk

Posté par  . Licence CC By‑SA.
Étiquettes :
0
13
avr.
2020

Bonjour à tous,

Je voudrais modifier un associer une valeur à une variable avec awk en utilisant une autre variable (définie au début du programe). Voici un exemple simple qui illustre ce que je voudrais faire :

Pour le moment j’exécute la commande suivante :
Re_tau_fr=$(awk 'FNR==119{print 0.0029846/$43*sqrt($39/$17*$2/($1))}' $moyenne_actuelle)

Je voudrais pouvoir changer le coefficient multiplicateur facilement en début de fichier, c'est à dire faire quelque chose comme :
coeff="0.0029846"
Re_tau_fr=$(awk 'FNR==119{print $coeff/$43*sqrt($39/$17*$2/($1))}' $moyenne_actuelle)

En utilisant BEGIN j'y arrive mais (…)

Forum Programmation.shell Script awk : Afficher le nom du fichier en cours de traitement ?

Posté par  . Licence CC By‑SA.
Étiquettes :
1
16
juil.
2019

Bonjour,

Je suis bloqué sur un script et je ne sais pas comment m'en sortir. Je sollicite donc votre aide.

J'ai un script qui me permet d'afficher avec une mise en page des informations provenant de plusieurs CSV.

Voici le script :

    cat /var/www/cgi-bin/LPAR_MAP/*.csv | grep foo | awk -F',|;' '{print $2","$5","$6","$7}' | awk '{
    print "LPARS :" $2
    print "RAM : " $5
    print "CPU 1 : " $6
    print "CPU 2 : " $7
    }'

Ce script (…)

Forum Programmation.shell Remplacer une valeur dans une colonne sous condition

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
1
5
juin
2018

Bonjour à tous,

J'ai une liste de fichiers textes contenant des valeurs séparées par des ; . Dans ces fichiers je dois remplacer la valeur de colonne 8 pour les lignes commençant par la valeur PAR.

Pour le moment j'utilise cette commande

for i in `ls *.txt`; do cat $i | awk -i inplace -F";" '{ if($1=="PAR") {gsub("[^0-9]","3027008440109",$8);print} }'; done
Malheureusement sa marche pas vraiment, j'ai cette erreur

awk: inplace:47: avertissement : inplace_begin : modification sur place annulée pour le fichier incorrect « - »
(…)

Journal taptempo.awk : une approche plus unix ?

Posté par  . Licence CC By‑SA.
Étiquettes :
43
5
mar.
2018

Salut !

Ce journal s'inscrit dans la série des journaux traitant de portages de taptempo.

Pour bien commencer la semaine, je voulais proposer une alternative à taptempo sous forme de filtre. Ma version d'un compteur de tempo se base sur l'outil xev et ne possède aucune option. Il est plus rapide de modifier directement le script que d'en modifier.

Pour moi c'est l'occasion de présenter awk, un langage de script relativement peu connu/utilisé alors qu'il est très intéressant. Il (…)

Forum Programmation.shell Créer deux fichiers avec un seul grep

Posté par  . Licence CC By‑SA.
Étiquettes :
1
20
déc.
2017

J’utilise grep pour filtrer selon un motif et re-diriger le résultat vers un fichier.

Je voudrais qu’un deuxième fichier soit généré, contenant lui les lignes ne correspondant pas au motif, le fichier complémentaire en quelque sorte.

Je peux m’en sortir en appelant deux fois grep, ou en utilisant diff, ou d’autres méthodes j’imagine, mais je voudrais savoir s’il y a une méthode plus élégante/concise/efficiente de faire cela. Je vais être honnête : je cherche LA bonne manière de faire pour (…)

Forum Programmation.shell Remplacer des cellules

Posté par  . Licence CC By‑SA.
Étiquettes :
3
8
mar.
2017

Bonjour,

Ce forum m'a bien aidé jusque là dans ma découverte du shell mais là je bloque.
Je suis nouvellement admin réseau et j'ai 2 fichiers .csv que je veux fusionner.

identifiants2015.csv

$cat identifiants2015.csv
CLASSE,NOM,PRENOM,IDENTIFIANT,M.de P.
c601,A,antoine,antoine.a,4f56yg
c504,B,micheline,micheline.b,654pgh

identifiants2016.csv

$cat identifiants2016.csv
CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
c601,Z,bob,bob.z,t954fd
c502,A,antoine,antoine.a,(déjà attribué)
c404,B,micheline,micheline.b,(déjà attribué)

Et je voudrais obtenir ceci en remplaçant "(déjà attribué)" par le mot de passe 2015.
logins2016_maj2016.csv

$cat logins_maj2016.csv
CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
c601,Z,bob,bob.z,t954fd
c502,A,antoine,antoine.a,4f56yg
c404,B,micheline,micheline.b,654pgh

Je me doute qu'il y a quelque (…)

Forum Programmation.shell Plomberie unixienne

Posté par  . Licence CC By‑SA.
Étiquettes :
3
27
fév.
2017

Bonjour,

Je cherche à alimenter une base RRD avec la sortie de la commande vmstat (sous Linux). J’ai créé ma base RRD et je peux l’alimenter manuellement, je n’ai pas de problème de ce côté là.

La commande suivante me sort un enregistrement avec lequel je devrais pouvoir alimenter ma base, toutes les secondes. J’utilise le caractère nul comme séparateur, ce n’est probablement pas une nécessité dans mon cas (donnée RRD…) mais j’ai de toute façon le même comportement en (…)

Forum Programmation.shell CSH : Remplacement de mots dans un fichier à partir d'un fichier CSV de correspondance

Posté par  . Licence CC By‑SA.
Étiquettes :
0
28
avr.
2016

Bonjour,

J'ai un fichier XML évolutif au sein duquel j'aimerais remplacer des noms de ville à partir d'identifiant contenu dans une table de correspondance. pour chaque occurence du fichier.

exemple : table de correspondance

PARIS;75000
BORDEAUX;33000

J'étais parti sur un sed mais j'ai beau creuser je ne trouve pas.

Quelqu'un peut il m'aider SVP.
A votre disposition si vous avez besoin d'informations complémentaires.

J'ai déjà la boucle

while read line
do
var1=$( echo "$line" | sed -n -E 's/.Station="(. (…)

Journal le dessous des cartes

Posté par  . Licence CC By‑SA.
37
14
août
2015

Cher journal,

J'aime bien lire sur ce site les histoires de création de carte comme celle-ci ou celle-là, alors je vais te conter la mienne.

quelle est la question ?

Partant d'une question pertinente : "Est-il facile de se ravitailler en GPL en France", j'en suis venu à une question idiote : "Est ce qu'il y a une grande différence des prix du carburant en fonction d'où on habite".

J'imagine une carte de France des points de vente, catégorisés en (…)