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 enlever les fins de ligne du résultat de curl

Posté par  . Licence CC By‑SA.
Étiquettes :
1
16
mai
2014

Bonjour.

Je souhaite récupérer le retour d'une API web interne via curl, pour la comparer à un résultat prédéterminé ( en fait, de jouer des tests sans me casser les pieds à devoir me retaper le copier/coller partiel en fonction du serveur ni devoir lire le résultat pour être sûr qu'il est bon ).
Donc, j'ai créé un fichier contenant mes listes de paramètres et un script qui appelle l'URI voulue ( un serveur ou l'autre, principalement ) en ajoutant (…)

Forum Programmation.shell Script de connexion telnet

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
15
mai
2014

Bonjour,

Je veux écrire un script sous une distribution linux (Full Automatic Nagios) pour activer un protocole SNMP dans des routeurs par telnet

Ce script devra parcourir un fichier qui contient les adresse IP et les mot de passe pour telnet,

puis pour chaque ligne du fichier on accède au routeur dont l'adresse IP figure dans cette ligne

enfin activer le protocole SNMP.

Et lancer ce script au démarrage du système.

Merci.

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 Programmation.shell Vérifier vos scripts SHELL avec shellcheck

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
6
16
avr.
2014

Bonjour a tous,

je viens de découvrir un petit outil sympathique qui permet de vérifier la synthase, les erreurs de codes ou encore si votre script est optimisé ou pas!

http://www.shellcheck.net/

J'ai pu tester l'outil et je le trouve absolument génial!!

Le test sur mon blog:

http://journaldunadminlinux.fr/verifier-vos-scripts-shell-avec-shellcheck/

Bonne journée a tous!!

Forum Programmation.shell cherche petit script car j'ai la flemme

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
3
avr.
2014

Mon souci : j'ai un dossier "projet" avec pas mal de sous dossier, et dans certains sous dossiers, il y a des liens symboliques vers un dossier de "projet/data".

le premier probleme, c'est que data fait 200Go,
le deuxieme je dois transferer ce dossier de projet sur un serveur CIFS, serveur qui ne gere evidemment pas les liens symboliques (mais gere la deduplication)

1° idée : tu remplaces les liens par un copie physique des datas, le serveur deduplique, ton (…)

Forum Programmation.shell Faire un ssh après un sudo

Posté par  . Licence CC By‑SA.
Étiquettes :
0
17
mar.
2014

Bonjour,

Je voudrais me connecter à une machineB avec certain user qui n’est accessible qu’après un sudo.

Je peux me connecter à une machineA
ssh machineA
Puis
machineA> sudo su – superman
puis
superman@machineA> ssh machineB

En effet sur la machineB je ne peux pas faire de sudo.
machineA> sudo su – superman ssh machineB
me demande un mot de passe.
machineA> sudo –l
donne
(root) NOPASSWD: /usr/bin/su - superman, (root) /[a-z]*app/travail/*/*.sh

J’ai testé
machineA> sudo su – superman <&lt (…)

Forum Programmation.shell Bash, regexp

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
3
12
mar.
2014

Bonjour,

je cherche à séparer des données d'une chaîne de caractère pour les écrire dans un tableau ou plusieurs variables, en bash.
La chaîne peut resembler à ceci:
'toto','tata' ,'titi' , 'ici avec espace','et, éventuellement\'comme ça'

On a donc:
'toto'
'tata'
'titi'
'ici avec espace'
'et, éventuellement\'comme ça'

Les espaces ne sont pas protégés par un \ (et même si cela avait été le cas, j'aurais été autant ennuyé).
J'ai parfois des caractères blancs autour des virgules.

J'ai essayé plein (…)

Forum Programmation.shell Ctrl+c ferme xterm

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
1
13
jan.
2014

Bonjour,

Ma question est assez idiote, mais voilà mon problème.

J'ai une application C++/Qt qui génère un script (index.csh), et l'exécute, jusque là, pas de problème.

Au début du script généré, il y a la commande:

git init

Cette commande peut être trop longue quand il y a beaucoup de fichiers dans le dossier en question.
Les utilisateurs aimeraient avoir la possibilités de faire un ctrl+C pour couper le "git init" et passer à la suite du script.
Seul problème, (…)

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 Comportement bizarre de redirection en ksh

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
27
nov.
2013

Bonjour tout le monde,

Je dois debugger un script qui n'a pas le même comportement sur 2 machines différentes et je ne sais plus où chercher les différences.

Voilà le bout de code très simplifier qui ne fonctionne pas :

$ echo plop > >(tee /tmp/output)
ksh: : cannot create [Permission denied]
$

Cette même commande fonctionne très bien sur une autre machine.

PS: ce truc bizarre n'est pas de moi, je ne veut pas le re-écrire mais juste comprendre (…)

Forum Programmation.shell Espaces dans les noms de fichiers

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
2
1
nov.
2013

Bonjour à tous,

C'est sûrement une question de noob mais j'ai eu du mal à trouver une réponse ailleurs.
J'ai un plusieurs répertoires de fichiers Wav à encoder en Mp3 (lame fichier.wav fichier.mp3).
Je me suis dit qu'un script m'aiderait bien, du genre :

for i in `find /home -name "*.wav"`; do lame $i $i.mp3 -V2; done

Avec cette méthode, les espaces ne sont pas bien gérés (ici je me contente d'un echo) :

for i in `find /home -name
(…)

Forum Programmation.shell Comment contrôler le read input dans un script shell

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
1
nov.
2013

Bonjour,

Comment contrôler le read input dans un script shell

Exemple:

echo "Please enter your name and your surname:"
read name surname
echo "Welcome $name $surname"

ici je veux contrôlé si le name et le surname sont introduit tous les deux dans le cas contraire un message d'erreur ce retourne jusqu'au que le name et surname sont introduit pour que l'echo s'exécute

Merci d'avance pour vos propositions !

Forum Programmation.shell Extraction de données avec AWK

Posté par  . Licence CC By‑SA.
Étiquettes :
0
31
oct.
2013

Bonsoir tout le monde,

Intéressé par un récent billet de blog sur B. Kernighan , j'essaie de scripter avec AWK une extraction de coordonnées cartésiennes de certains atomes dans un output de dynamique moléculaire.
Ce dernier est composée d'une ligne de titre, d'un header général, et d'un certain nombre de configurations (snapshots) du systeme pris a intervalles de temps réguliers (dénotés par un timestep). Plus précisément, chaque snapshot comporte 4 lignes de header (1 + 3 lignes pour les vecteurs (…)

Forum Programmation.shell Éviter les boucles avec des syntaxes de gourou

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
3
28
oct.
2013

Salut les moules !

Pour l'instant, j'ai un script comme ça :

for f in *.JPG
do
    convert $f -verbose -resize 600x -quality 85 resized/$f
done

C'est marrant, mais j'aimerais savoir s'il existe une syntaxe de gourou qui me permettrait de faire ça en une ligne sans script, genre avec ce genre de commande :

convert * -verbose -resize 600x -quality 85 resized/*

Je vois bien que la seconde étoile fait que je me retrouve avec un problème. C'est possible de (…)

Forum Programmation.shell Récuperer noms d'un fichier pour l'envoyer dans une chaine de caractère dans un fichier

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
22
oct.
2013

Bonjour,

Je souhaiterais avoir de l'aide sur l'édition d'un script ??

Dès que l'on branche un lecteur de CV sur Mac, il génère un fichier cu.usbmodem XXX, sachant que XXX est le numéro du Port.

Je souhaiterais donc savoir comment récupérer les 3 numéros du port situé à la fin du fichier, et les envoyer dans une chaine de caractère >> >> >> ( COM1=cu.usbmodem XXX ) située dans un fichier "**.ini" ?

Je voudrais savoir si quelqu'un peut m'aider ou (…)

Forum Programmation.shell rechercher / remplacer multiligne

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
14
oct.
2013

Bonjour,
sur un site web dont je gere le serveur, nous avons une verole.

J'ai trouvé le motif à supprimer de plusieurs fichiers.
ce motif s'obtient facilement en faisant

grep -B12 -A15 aHR0cDovL21icm93c2Vyc3RhdHMuY29tL3N0YXRIL3N0YXQucGhw index.php

maintenant je voudrais supprimer ces lignes du fichier index.php
j'ai pensé à sed/awk, mais je ne sais pas comment lui dire de prendre les 12 lignes avant le motif, et 15 lignes apres pour les remplacer par "rien"

evidemment s'il n'y avait qu'un seul fichier, je (…)

Forum Programmation.shell [Résolu] BASH : "Gras", mais pas "clair" ?

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
4
26
sept.
2013

Bonjour, bonsoir !

Une petite question toute bête et pas très utile mais une question quand même :
'echo -e "\e[32mYO"' va écrire 'YO' en vert foncé
'echo -e "\e[92mYO"' va écrire 'YO' en vert clair
'echo -e "\e[1;32mYO"' va écrire 'YO' en vert clair gras (de même pour ''echo -e "\e[1;92mYO"'')

La question : Peut-on écrire 'YO' en vert foncé gras ? :p

(La question s'étend aussi au 'vert sombre' (\e[2;31m) peut-on écrire en vert sombre gras ?)

Forum Programmation.shell Fonctions et alias de même noms, et surcharge d'alias

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
3
5
août
2013

Bonjour,

J'ai deux questions à propos du shell sous GNU/Linux (bash ou zsh).

==> Si un alias et une fonction de même nom existent, comment savoir laquelle sera appelée ?
Ex :

alias rr='echo Hello'
rr () { command echo Hello "$@"; }

Dans ce cas, c'est ennuyeux avec zsh : à la définition de la fonction rr, le nom est remplacé par l'alias, et c'est echo qui va être remplacé par la fonction définie… (et donc, rr world renvoie (…)

Forum Programmation.shell Chroot avec les binaires de base d'un OS

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes : aucune
1
3
août
2013

Bonjour,

il me semble avoir lu y a pas longtemps sur linuxfr qu'il y aurait une commande pour copier les binaires de base de l'OS (ls, mv, etc. en gros surtout ce qu'on va trouver dans /bin j'imagine), mais aussi pour choisir une liste supplémentaire d'outils a inclure dans le chroot. Mais je n'arrive pas a retrouver ce post ni a trouver d'information a ce sujet sur le net (cependant je me dis qu'un tel outil serait probablement spécifique a (…)

Forum Programmation.shell Quoter une variable contenant des arguments de ligne de commande

Posté par  . Licence CC By‑SA.
Étiquettes :
0
16
juin
2013

J'ai un script bash qui fait une sauvegarde incrémentale dans un tar.gz. Une des variables de configuration doit contenir un nom de répertoires avec caractère générique (glob), et je n'arrive pas à le faire passer

## Configuration de sauvegarde
##############################
repertoires="/home/jgo
/var/spool/mail/jgo"
liste_exclusion="--exclude \"/home/jgo/divers/*\" --exclude \"/home/jgo/.recoll/xapiandb/*.DB\""
ciblelocale=/var/backup/

## autres options
#################

timestampsauvegarde=/home/jgo/timestamp-sauvegarde
nouvelledate=`date "+%s"`
nomclair=${ciblelocale}backup_${nouvelledate}.tar.gz
temp=/tmp/
liste
(…)

Forum Programmation.shell Array not found

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
0
11
juin
2013

Bonjour,

Je suis confronté à un problème dont je ne trouve pas la solution. Dans un script je suis amené à utiliser des tableaux pour stocker des valeurs. Sur tout mes serveurs (redhat) ça marche sauf sur un qui n'est pas la même distri (openmediavault).

J'ai reproduis le problème avec une version simplifié du script

#!/bin/bash

bash --version

declare -a myarray[0]="hello"
declare -a myarray[1]="world"

prtinf "${myarray[*]}"
printf "\n"

Cette version me donne

#sh test.sh 
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
Copyright
(…)