Forum Programmation.shell Awk et regexp

Posté par  .
Étiquettes : aucune
0
10
oct.
2008
Bonjour,
J'essaie de convertir un fichier ldif en csv avec awk, mais je bute sur une "syntax error" avec une regexp.

Voici le contenu du ldif :

dn: id=1,ou=person,o=myldapdirectory
name: p1
city: city1
mail: test@mail.com

dn: id=2,ou=other,o=myldapdirectory
datavalue: AAAjjjjjj

dn: id=3,ou=other2,o=myldapdirectory
code: 123456

dn: id=56,ou=person,o=myldapdirectory
name: person2
city: OtherCity
mail: mymail@me.com


Mon script awk :

/usr/bin/awk '
function add_object() {
if(typeObject="person")
printf("%s:%s:%s\n", lName, lCity, lMail) > "data.csv"
}
BEGIN {
typeObject = ""
lName = ""
lCity = ""
lMail (…)

Forum Programmation.shell modification de ficier ligne commancant par lov et supprimer carartère

Posté par  .
Étiquettes : aucune
0
20
oct.
2008
Bonjour,

Je ne suis pas un spécialiste en shell mais je sois modifier un fichier sous unix.

Je dois modifier toutes les ligne dans ce fichier commancant par LOV :

LOV "D151008-E1" "ORGANIZATION" "10200"
LOV "D151008-E2" "ORGANIZATION" "10201"

et je dois supprimer les "" autour des 2 derniers champs ( ORGANIZATION et le nombre).

Merci d'avance
Cordialement
Thiabutbito

Forum Programmation.shell changer l'encodage de texte dans le terminal (avec une commande bash)

Posté par  .
Étiquettes : aucune
0
21
oct.
2008
bonsoir,

mon système est en utf8, et j'ai des jeux textuel en iso8859-1. Dans le terminal gnome, on peut changer l'encodage via le menu et cela fonctionne bien. Avec xterm, si je lance un nouveau xterm avec l'option "-en fr_FR.utf8", cela fonctionne bien, mais oblige à utiliser xterm et à ouvrir un nouveau terminal.

Existe-t-il une solution universelle qui fonctionnerait pour tous les terminaux (konsole, terminal de xfce4, terminal.app de gnustep, gnome-terminal, xterm etc), et serait scriptable ?

Je ne (…)

Forum Programmation.shell Changer d'utilisateur en cours de route

Posté par  .
Étiquettes : aucune
0
21
oct.
2008
Bonjour,

Je voudrais changer d'utilisateur pendant l'exécution d'un script shell. Mon script commence par faire des choses nécessitant d'être root mais ensuite je préfère être l'utilisateur toto et je ne trouve pas.

Si je fais un sudo à chaque ligne c'est vite moche et question lisibilité c'est moins bon. En plus il suffit d'oublier une seule fois et l'objectif est raté.

Pas la peine de me dire man sudo et man su car j'ai déjà fait :) Si la réponse (…)

Forum Programmation.shell la commande ps -ux ???

Posté par  .
Étiquettes : aucune
0
1
nov.
2008
Bonjour,
je sais que la commande shell "ps" permet de lister l'ensemble des processus qui existent dans le système.

je voudrais maintenant savoir que fait la commande
 ps  -ux  


si vous connaissez ces options pour ps n'hésitez pas à m'expliquer le rôle de cette ligne de commande (le rôle de chacun des options: u et x).

merci d'avance.

Forum Programmation.shell compression et tar

Posté par  .
Étiquettes : aucune
0
20
nov.
2008
Bonjour,
Voila, lorsque l'on crée une archive avec l'otion -Z avec afio, les fichiers sont compressés puis mis dans l'archive. Ainsi si un fichier compressé est corrumpu dans l'archive, cela n'empechera pas de restorer les autres fichiers contenu dans
l'archive. cf man ci dessous

man afio, option -Z
Supports compression while archiving, with the -Z option. Will compress
individual files in the archive, not the entire archive datastream, which
makes afio compressed archives much more robust than `tar zc' type (…)

Forum Programmation.shell PBS script

Posté par  .
Étiquettes : aucune
0
14
déc.
2008
Salut tout le monde,
Je me suis trouvé obligé d'utilise les PBS script dans un projet d'études.
Moi je connais pas ces Scripts la : leur définition, leur utilité et comment les fait. Et éventellement qu'est leur rapport dans la distribution des données à plusieurs processeurs.

Si quelqu'un un un document qui peut m'aider à bien comprendre ces PBS script qu'il m'aide SVP.

merci d'avance.

Forum Programmation.shell pid d'un processus

Posté par  .
Étiquettes : aucune
0
16
déc.
2008
Bonjour,

je cherche à récupérer le pid d'un processus en ligne de commande et ne vois pas vraiment comment m'y prendre.

le but est de faire un petit script qui récupère le pid du processus à partir de son nom et ensuite de lui envoyer le signal kill. j'ai donc pensé à un :

ps aux | grep /usr/bin/"processus"

pour me renvoyer la ligne correspondante mais maintenant il me faut extraire le pid de cette chaîne de caractère. Il y (…)

Forum Programmation.shell mon script ferme le terminal ?!

Posté par  .
Étiquettes : aucune
0
21
déc.
2008
bonsoir,
j'ai fais un petit script qui me fait un backup, il est tout simple mais il a un probleme : il me ferme le terminal dans lequel il tourne et je ne comprends pas pourquoi.
voici le script :
#!/bin/bash

if [ ! -d "$1" ] ; then
echo "$1 doit etre un dossier"
return
fi
LIST=/etc
echo "sauvegarde systeme de base : dossiers $LIST"
ARCH="$1/sav-base.tar.bz2"

CMD="sudo tar -cjf $ARCH $LIST --totals"
echo $CMD
exec $CMD

alors oui je (…)

Forum Programmation.shell killer n processus

Posté par  .
Étiquettes : aucune
0
22
déc.
2008
Bonjour,

je souhaite killer n processus. Pour killer j'utilise cette commande:
ps -ef | grep 8010 | awk '{print "kill -9 "$2"\n"}' | sh
mais je ne veux pas killer tous les processus juste 10.

je n'ai pas trouvé le moyen dans le man de ps pour lister que qq processus.

Merci de votre aide.

Forum Programmation.shell awk et sqlite3

Posté par  .
Étiquettes : aucune
0
5
fév.
2009
Bonjour,
Comment incorporer des instructions sqlite3 dans un script awk ? Je commence à être un peu perdu après pas mal de recherche infructueuse.

hypotèse :

J'ai une table sqlite sous cette forme
cat|parcelle|surface
45|1|
34|2|
......

un fichier de donnée sous cette forme
1|34.45
2|45
etc....

Et sans suspense, je veux intégrer ces valeurs dans la tables
donc je fais un script awk, comme cela :

#!/usr/bin/awk -f
BEGIN{
base="psg.db";
FS="|";
}

{
print "parcelle " $1 " surface (…)

Forum Programmation.shell Fichier de trace

Posté par  .
Étiquettes : aucune
0
5
fév.
2009
J'ai un script et j'aimerai pouvoir faire un fichier de trace.

J'avais pensé à cela mais cela ne donne un fichier log mais vide.

#find ~/Bureau/Linux/ -exec sed -i 's/a_intouch/w_intouch/g' {} \; > fichier.log
#find ~/Bureau/Linux/ -exec sed -i 's/b_intouch/x_intouch/g' {} \; > fichier.log

Quequ'un peut me donner son avis.

Forum Programmation.shell tuer les processus d'utilisateurs déconnectés

Posté par  (site web personnel) .
Étiquettes : aucune
0
6
fév.
2009
Bonjour :)

sur mon serveur de client légers, les processus des utilisateurs ne s'arrêtent pas forcément si ils se déconnectent.

Du coup, je traine des centaines de processus qui encombrent le serveur.

Y aurait-il une petite ligne en bash qui pourrait être lancé par cron pour tuer tout ça ?

une combinaison de who, kill etc.

Mes trop maigres cométences en bash ne me permettent pas de le faire tout seul.

Forum Programmation.shell attendre la fin d'un processus créé depuis un autre shell

Posté par  .
Étiquettes : aucune
0
8
fév.
2009
Donc la commande 'wait' ne fait pas l'affaire, la salope, puisqu'elle ne permet de considérer que les processus enfants!

j'ouvre deux terminaux A & B:

Depuis A :


> sleep 60 &
[1] 11808
> wait 11808 # génial, j'attends


Depuis B :


> wait 11808
bash: wait: pid 11808 is not a child of this shell


caramba!!!
je ne voudrais pas être obligé à scruter en permanence l'état du processus dont j'attends qu'il se termine.

Merci pour vos réponses.

Forum Programmation.shell CSH : nombre de jobs

Posté par  .
Étiquettes : aucune
0
9
fév.
2009
Bonjour,

J'ai un script en CSH qui lance plusieurs jobs et je souhaiterais mettre en variable le nombre de jobs en cours... Mais je n'y arrive pas !

J'ai essayé différentes façons mais rien n'y fait, il me retourne toujours 0 :
set NBJOBS=`jobs -l | wc -l`
set NBJOBS=`jobs -l |& wc -l`


Exemple bateau de script pour qui veut essayer :
#!/bin/csh
(sleep 300 & sleep 300 & ) >&/dev/null
set NBJOBS=`jobs |& wc -l`
echo "$NBJOBS"
killall (…)

Forum Programmation.shell Tunnel SSH en tache de fond

Posté par  .
Étiquettes : aucune
0
16
fév.
2009
Bonjour,

J'essaye de faire un un tunnel ssh indépendant de ma session de terminal.

nohup ssh -L4562:localhost:4562 user@server


J'ai pensé à la commande nohup, mais cela ne fonctionne. Cette commande ne me permet pas d'entrer le mot de passe. La seule réponse que j'ai trouvé sur internet c'est faire un script. est ce la bonne ou on peut faire autrement.

Merci de votre aide

Forum Programmation.shell Lien entre un script Sh et un fichier OO de type BD ou Tableur

Posté par  .
Étiquettes : aucune
0
16
fév.
2009
Salut tout le monde,

J'ai réussi avec l'aide des membres de Dalinux à faire mon premier script en sh.

find ~/Bureau/Linux/varexp.dat -print >> fichier.log -exec sed -i 's/A,PCVUE/W,PCVUE/g ; s/B,PCVUE/X,PCVUE/g ; s/C,PCVUE/Y,PCVUE/g ; s/D,PCVUE/Z,PCVUE/g' {} \;

Je voudrai maintenant faire en sorte que mes valeurs "A,PCVUE" et "W,PCVUE" correspondent à un champs de ma base de données ou de mon tableur.

Est ce possible ?

Merci d'avance.

Forum Programmation.shell setfacl retirer les droits d'acces d'un repertoire

Posté par  .
Étiquettes : aucune
0
19
fév.
2009
Bonjour,

Je viens de lire beaucoup de tutoriel pour ajouter des permissions de lecture, écriture et éxecution sur un fichier avec setfacl.
Mais je n'en trouve aucun pour les retirer.

J'aimerai retirer tous les accès à user1 sur le répertoire /opt/csw avec la commande setfacl.

Merci de votre aide

Forum Programmation.shell Problème avec un script de sauvegarde

Posté par  .
Étiquettes :
0
17
fév.
2009
Bonjour,

Voici le script qui me pose problème :

#! /bin/sh
echo "Veuillez patientez, Sauvegarde en cours a $d ........"
d=`date`
mysqldump -u root -p Adh45Jkl -c --add-drop-table -A >/home/sauv.sql
mt -f /dev/st0 rewind
(/bin/tar cf /dev/st0 /home &&
echo "sauvegarde le $d" | mail pierre.xxxxx@xxxx.fr -s "save OK sur SERVEUR") || echo "ca marche pas le $d" | mail pierre.xxxxx@xxxx.fr -s
"Echec sur SERVEUR" >& /dev/null


Ce script, installé sur une Debian Potato, lance une sauvegarde toutes les nuits (…)

Forum Programmation.shell occurence de caractere

Posté par  .
Étiquettes : aucune
0
20
fév.
2009
Bonjour,

Je cherche en vain le moyen de compter le nombre d'occurence d'un caractère dans des "strings". Je m'explique :

J'ai un fichier texte comme ceci (cela correspond à des réponses utilisateurs) (j'ai essayé en sql aussi mais ca fait le même problème) :

ligne1 : aaadc
ligne2 : eedab
ligne3 : dddac
ligne4 : aeada
ligne5 : eaaaa
etc...

Moi je voudrais rechercher et faire un traitement sur par exemple les lignes qui contiennent "3 a au moins" donc, (…)

Forum Programmation.shell Conserver un terminal actif après l'exécution d'une commande

Posté par  (site web personnel) .
Étiquettes : aucune
0
10
mar.
2009
Bonjour,
je ne suis pas sûr que cette question ait sa place ici, mais c'est ce que j'ai trouvé de mieux. Je cherche le moyen d'ouvrir un terminal (idéalement gnome-terminal), qu'il lance une commande (genre "ls"), et qu'il reste actif ensuite (c'est à dire que la fenêtre terminal ne disparaisse pas et que je puisse encore taper des commandes à l'intérieur).

J'ai testé pas mal de possibilités, mais impossible que le shell du terminal reste actif pour y taper de (…)

Forum Programmation.shell Changer l'ordre de mes paramètres de fonction

Posté par  (site web personnel) .
Étiquettes : aucune
0
17
mar.
2009
Bonjour,

je cherche à utiliser sed pour changer l'ordre de mes paramètres de fonction

Exemple: foo($bar,$plop,$toto)
doit devenir: foo($toto,$bar,$plop)

Mon idée aurait été de faire
sed 's/foo(\(.*\),\(.*\),\(.*\))/foo($3,$1,$2)/'

Sed détecte bien le patern mais je me retrouve bel et bien avec foo($3,$1,$2) et non pas foo($toto,$bar,$plop)

Comment faire pour que sed remplisse la valeur de chaque $ ??

Merci d'avance

Uld


PS: je ne cherche à faire ca qu'avec sed, il se peut que d'autre solution plus simple plus esthétiques existent, (…)

Forum Programmation.shell execution script bash d'un sous répertoire

Posté par  .
Étiquettes : aucune
0
18
mar.
2009
Une question triviale : j'essaye de faire executer un script dans un sous répertoire et je ne comprend pas pourquoi bash ne l'execute pas (après avoir déjà regarder que les permissions sont ok )

exemple :

me@robby:~/faustest$ !512
cat dir1/myscript.sh
#!/bin/bash
touch fichier


lorsque j'execute du répertoire courant contenant dir1 , sh dir1/myscript.sh , il n'execute pas le touch .. Par contre si je vais dans dir1 et que je l'execute il le fait bien .

j'ai loupé qqch ?

Forum Programmation.shell script bash , OK sous ubuntu 7.10 mais KO sous ubuntu 8.04

Posté par  .
Étiquettes :
0
19
mar.
2009
voila j'ai modifié un petit script , il se lance sans problème sous gusty mais sous hardy il me retourne une erreur incompréhensible . Quelqu'un peut m'expliquer ?


gnu@robby:~/faust2.0/voice$ sh faustus2.sh


# execute un random dans l'interval(%) `ls *ogg | wc -l`
line=$(($RANDOM%`ls *wav | wc -l`))
+ ls test.wav test2.wav test3.wav test4.wav test5.wav
+ wc -l
faustus2.sh: 8: arithmetic expression: expecting primary: "%5"



gnu@robby:~/faust2.0/voice$ cat faustus2.sh

#!/bin/bash
#SCRIPT PLAY OGG
set -xv


# execute un random dans l'interval(%) `ls (…)

Forum Programmation.shell .bashrc, prompt et dossier courant: ne pas abréger le dossier personnel.

Posté par  .
Étiquettes : aucune
0
22
mar.
2009
Bonjour.

je cherche à personnaliser mon bash, en modifiant la variable d'environnement PS1.
Et je bute sur une difficulté: je ne trouve pas la séquence qui indique, quel que soit le dossier, son chemin complet. En effet, si je mets "\w" ou "\W", le dossier personnel est systématiquement abrégé en "~", ce que je ne veux pas.
Est-ce possible d'afficher toujours le chemin courant dans le prompt?
J'ai essayé d'utiliser $pwd dans PS1, mais forcément la valeur enregistrée dans PS1 (…)