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

Posté par (page perso) . Licence CC by-sa
Tags :
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
Tags :
44
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
Tags :
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
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
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
Tags :
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 (...)

Forum Programmation.shell Addition d'un nombre d'occurences selon une chaine de caractère

Posté par . Licence CC by-sa
Tags :
0
13
août
2015

Bonjour,

Je suis bloqué sur un petit script en shell. Je récupère dans un fichier txt des entrées comme ci dessous :

120 facebook.fr
32 linuxfr.org

Lorsque je lance mon script avec le cron, j'ai du coup la même chose mais plusieurs fois puisque les résultats s'ajoutent au fur et à mesure du resultat.txt :

120 facebook.fr
32 linuxfr.org
64 facebook.fr
12 linuxfr.org

Je souhaiterai donc pouvoir additionner les nombre d'occurences quand les noms de domaines sont identiques, soit au (...)

Forum Programmation.shell awk print $mavariable

Posté par . Licence CC by-sa
Tags :
0
18
juin
2015

Bonjour à tous,

je ne trouve pas de solution pour mettre en paramètre la commande que il se doit.
Contexte dans le répertoir /tmp nous avons des fichiers du type
XXX.TTTT.DAYLY
XXX.TTTT.WEEKLY
XXX.TTTT.MOUNTHLY
Le but et de recopier l'ensemble des fichier en remplaçant la chaîne TTTT par YYYY nous aurons comme résultat:
XXX.YYYY.DAYLY
XXX.YYYY.WEEKLY
XXX.YYYY.MOUNTHLY

A=`ls /tmp/XXX.TTTT* | cut -d. f3`
n=`ls XXX.TTTT.* | wc -l`

awk 
#mais nous ne connaissons pas
(...)

Journal Lire de fichiers de configuration depuis un script shell

Posté par (page perso) . Licence CC by-sa
25
5
juin
2015

La petite technique shell du vendredi. Pour lire un fichier de configuration du style INI depuis un script shell, on peut utiliser le petit script sed suivant

1 {
  x
  s/^/default/
  x
}

/^#/n

/^\[/ {
  s/\[\(.*\)\]/\1/
  x
  b
}

/=/ {
  s/^[[:space:]]*//
  s/[[:space:]]*=[[:space:]]*/|/
  G
  s/\(.*\)\n\(.*\)/\2|\1/
  p
}

Il transforme

    # last modified 1 April 2001 by John Doe
    [owner]
    name=John Doe
    organization=Acme Widgets Inc.

    [database]
    # use IP address in case network name resolution is not working
    server=192.0.2.62
    port=143
(...)

Forum Programmation.shell awk : imbrications de commandes

Posté par . Licence CC by-sa
Tags :
1
14
jan.
2015

Bonjour à toutes et à tous :)

Je présente tout d'abord mon faible niveau en programmation, afin que vous puissiez adapter vos réponses, à mon niveau de compréhension :)

J'ai un niveau débutante en python (fonctions, boucles, listes…), php (pas script mais plutôt interrogation avec base sql), je me débrouille bien en expressions régulières, en cut et sed. Me sont inconnus c, js, javaj, c++.

J'avance dans la douleur, et n'ai pas forcément le bon vocabulaire pour trouver réponse sur (...)

Forum Programmation.shell awk et les colonnes

Posté par . Licence CC by-sa
Tags :
0
5
juil.
2014

Bonjour,

J'ai un fichier avec de nombreuses lignes qui ont toutes la même longueur, quelques caractères. Je souhaite mettre le contenu de ce fichier sur plusieurs colonnes. J'ai trouvé cette solution qui me convient :

awk 'NR%9==1{print " "}{printf "%s %s %s %s %s %s %s %s %s",$1, $2, $3, $4, $5, $6, $7, $8, $9}' input > output

pour neuf colonnes.

Je vous sollicite pour deux questions :

  1. Est-ce que cela peut s'écrire plus proprement ?

  2. Avec ma solution on (...)

Forum Programmation.shell Isoler une chaine de caractère et compter son nombre d'occurrences

Posté par . Licence CC by-sa
Tags :
1
4
juin
2014

Hello,

Je cherche un moyen d'extraire d'une capture de mon trafic DNS certains sites et d'en afficher le nombre d’occurrence.

Le fichier que je récupère est sous ce format :

14:15:37.837411 IP 109.215.228.235.23582 > 81.253.149.2.53: 25335+ A? b.fc.namequery.com. (36)
14:15:37.837930 IP 80.10.202.65.30568 > 209.53.113.4.53: 59709 [1au] A? b.fc.namequery.com. (47)
14:15:44.746399 IP 109.215.90.49.1024 > 81.253.149.2.53: 7376+ A? search.namequery.com. (38)
14:15:49.456342 IP 82.121.161.41.1024 > 81.253.149.1.53: 26292+ A? search.namequery.com. (38)
14:15:49.456865 IP 80.10.202.103.3499 > 209.53.113.6.53: 27871 [1au] A? search.namequery.com. (49)
14:15:53.477188 IP 90.21.150.38.1024 (...)

Forum Programmation.shell Équivalent tableau croisé dynamique

Posté par . Licence CC by-sa
Tags :
2
2
mai
2014

Bonjour à tous,

Dans le cadre de l'analyse de log, j'ai un fichier de +850000 lignes avec plusieurs colonnes.

Grosso modo, je l'ai réduit à ceci :

Pierre pierre.monsite.com 45
Paul paul.paulsite.com 10
Jacques jacques.sonsite.com 10
Pierre pierre.monsite.com 10
Jacques jacques.sonsite.com 0
Paul paul.paulsite.com 10
Toto toto.coco.com 1

J'aimerai pouvoir faire un tableau croisé dynamique : donc pouvoir sommer les utilisateurs pour n'avoir plus que
Pierre pierre.monsite.com 50
Paul paul.paulsite.com 20
etc…

Je l'ai fait avec des grep et (...)