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

Posté par  . Licence CC By‑SA.
Étiquettes :
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.
Étiquettes :
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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.
Étiquettes :
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.
Étiquettes :
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.
Étiquettes :
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.
Étiquettes :
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 (…)

Forum Linux.général exposer un script comme un service

Posté par  . Licence CC By‑SA.
Étiquettes :
2
4
mar.
2014

Bonjour,

J'ai un programme - un scipt awk - qui lit l'entré standard ligne à ligne et qui produit une ligne de résultat par ligne.

$ echo "input" | monscript
output

Avant de pouvoir traiter la première ligne, le programme doit construire une structure de données à partir d'un fichier volumineux.
Cette construction prend environ 5s, contre qques ms ensuite pour le traitement d'une ligne, une recherche dichotomique dans la structure de données.

Ma problématique est la suivante: je voudrais (…)

Forum Programmation.shell Utiliser la sortie d'une commande comme chaîne de recherche de awk

Posté par  . Licence CC By‑SA.
Étiquettes :
1
23
déc.
2013

Bonjour.

Je cherche à obtenir le "device file" correspondant à un chemin (sur une clé USB, en l'occurrence).

Disons que mon chemin est /media/cle/rep1/rep2/rep3/fichier. (J'ai accès à ça facilement dans Thunar via les actions personnalisées.)

Je veux :

  • extraire /media/cle
  • chercher ça dans /proc/mounts
  • en déduire /dev/sdb1 (par exemple)

Partant de /media/cle, je peux réaliser les étapes 2 et 3 avec awk :

awk '/\/media\/cle/ {print $1}' /proc/mounts

J'arrive à extraire /media/cle avec sed :

echo /media/cle/rep1/rep2/rep3/fichier | sed -e 
(…)

Forum Programmation.shell gawk traitement du port serie ttyS0

Posté par  . Licence CC By‑SA.
Étiquettes :
0
23
mai
2013

bonjour

j'ai un appareil sur ttyS0 en 115200 8b 1stop qui émet des distances sous la forme :

12.25^M
13.89^M
14.89^M
15.89^M
25.87^M

mon script :
cat /dev/ttySO | dos2unix -l | gawk '{print strftime ("%F %T", -bash;}'

cela a fonctionné correctement :( quelques temps résultat attendu :

2013-05-22 12:45:26 12.25
2013-05-22 12:45:26 13.89

lorsque j'ai sauvegardé le script pour le retrouver plus tard avec la commande :
echo " cat /dev/ttySO | dos2unix -l | gawk '{print strftime (…)

Forum Programmation.shell Utilisation de awk pour la jointure de 2 fichiers

Posté par  . Licence CC By‑SA.
2
21
jan.
2013

Je possède deux fichiers de taille différente ayant en commun un champ.
fichier 1:

1 48102
2 48103
3 48152
4 48156
5 48189

fichier 2:

14 jean
503 Benjamin
48102 Georges
48103 Lili
48152 Mélina
48156 Chantal
48189 Daniel
48512 Esthelle

Je souhaite réaliser un fichier final jointant ces 2 fichier le premier par le deuxième champ et le deuxième par son premier champ.

Mais essai avec join n'ont pas était concluant et il me semble que awk peut (…)