Bonjour,
Je souhaiterais, à partir d'un nom complet de fichier (avec son chemin complet), extraire uniquement le répertoire.
"/etc/network/interfaces" deviendrait alors "/etc/network/"
Je connais déjà basename qui fait l'inverse (extraction uniquement du nom du fichier). Je cherche donc une fonction équivalente ou une méthode la plus propre possible pour y arriver.
D'avance merci.
Forum Programmation.shell Comment fusionner 2 tables
Bonjour,
J'ai une petite colle à vous proposer, vous les génies des outils unix.
(et là on va voir si la flatterie fonctionne...)
J'ai 2 tables sous forme d'un fichier texte; les données sont séparées par des tabulations.
Les 2 tables associent des données à un code (première colonne des 2 tables)
A priori on retrouve les même codes dans les 2 tables. Mais on ne devrait pas se baser la dessus.
Le problème : j'aimerai joindre les 2 tables.
(…)
J'ai une petite colle à vous proposer, vous les génies des outils unix.
(et là on va voir si la flatterie fonctionne...)
J'ai 2 tables sous forme d'un fichier texte; les données sont séparées par des tabulations.
Les 2 tables associent des données à un code (première colonne des 2 tables)
A priori on retrouve les même codes dans les 2 tables. Mais on ne devrait pas se baser la dessus.
Le problème : j'aimerai joindre les 2 tables.
(…)
Forum Programmation.shell imagamagick en pratique : scanner -> gros tiff ...
Salut,
Au boulot, une multifonction produit de gros fichiers tif avec parfois plusieurs pages dedans, sous forme de calques (me semble-t-il). Ces fichiers arrivent via ftp dans un dossier partagé sur une machine Linux.
J'aimerais qu'automatiquement, ces images soit converties en un fichier png par page (par calque). Si au passage, chaqu'un de ces fichier png pouvait être "optimisé" pour prendre le moins de place possible (pas de canal alpha, espace de couleur respecté)
J'ai trouvé imagamagick, mais je comprend (…)
Au boulot, une multifonction produit de gros fichiers tif avec parfois plusieurs pages dedans, sous forme de calques (me semble-t-il). Ces fichiers arrivent via ftp dans un dossier partagé sur une machine Linux.
J'aimerais qu'automatiquement, ces images soit converties en un fichier png par page (par calque). Si au passage, chaqu'un de ces fichier png pouvait être "optimisé" pour prendre le moins de place possible (pas de canal alpha, espace de couleur respecté)
J'ai trouvé imagamagick, mais je comprend (…)
Forum Programmation.shell retirer une chaîne de caractère à la fin du nom de fichier
Bonsoir à tous,
j'ai qq fichiers dans un répertoire et je veux supprimer dans le nom des fichiers tout ce qui est après une chaîne de caractère précise.
exemple de nom de fichier : cars&max=250&adv_g=&adv_age=7&adv_so
qui doit devenir : cars
à chaque fois la partie à supprimer commence par &max=250
je suis novice, j'essaie avec "for i in", j'ai trouvé comment supprimer des trucs au début des noms de fichiers mais pas à la fin. J'ai l'impression que le & (…)
j'ai qq fichiers dans un répertoire et je veux supprimer dans le nom des fichiers tout ce qui est après une chaîne de caractère précise.
exemple de nom de fichier : cars&max=250&adv_g=&adv_age=7&adv_so
qui doit devenir : cars
à chaque fois la partie à supprimer commence par &max=250
je suis novice, j'essaie avec "for i in", j'ai trouvé comment supprimer des trucs au début des noms de fichiers mais pas à la fin. J'ai l'impression que le & (…)
Forum Programmation.shell programme shell
comment ecrire une commande qui toute les dix secondes complete un fichier log en y ajoutant la date et la liste des utilisateurs connecté a cet instant sur la machine
Forum Programmation.shell Serveur multijoueurs
Bonsoir,
Je suis en train de programmer un jeu de dames en shell, le jeu étant presque fini, je cherche un script pour créer une application client/serveur.
je m'explique : pour l'instant, seulement 2 joueurs peuvent jouer (j'utilise la commande sync() pour transférer le damier modifié après chaque coup).
mnt je veux que ce jeu soit executer sur un serveur, ou un utilistaeur A se connecte et doit attendre qu'un autre utilisateur B en fasse autant.
quand l'utilisateur B se (…)
Je suis en train de programmer un jeu de dames en shell, le jeu étant presque fini, je cherche un script pour créer une application client/serveur.
je m'explique : pour l'instant, seulement 2 joueurs peuvent jouer (j'utilise la commande sync() pour transférer le damier modifié après chaque coup).
mnt je veux que ce jeu soit executer sur un serveur, ou un utilistaeur A se connecte et doit attendre qu'un autre utilisateur B en fasse autant.
quand l'utilisateur B se (…)
Forum Programmation.shell Comparer deux numéros de versions
Bonjour,
je dispose de deux variables VERSION_CLIENT et VERSION_APPLI contenant des numéros de versions.
Je dois comparer ces numéros de versions et cela me pose problème.
En effet, la comparaison bash se fait selon l'ordre lexicographique et mes versions sont de la forme:
x.yz
ou x et y sont des entiers (en gros le majeur et le mineur)
et z est une lettre (release)
Donc bon, j'avais bien une solution à la base du style:
[code]
if [[ $VERSION_CLIENT > (…)
je dispose de deux variables VERSION_CLIENT et VERSION_APPLI contenant des numéros de versions.
Je dois comparer ces numéros de versions et cela me pose problème.
En effet, la comparaison bash se fait selon l'ordre lexicographique et mes versions sont de la forme:
x.yz
ou x et y sont des entiers (en gros le majeur et le mineur)
et z est une lettre (release)
Donc bon, j'avais bien une solution à la base du style:
[code]
if [[ $VERSION_CLIENT > (…)
Forum Programmation.shell [BASH] Contenu de variable de variable
Bonjour,
Je cherche un moyen de pouvoir stoquer le nom d'une variable dans une autre variable afin de pouvoir la tester.
Exemple :
foo_bar1=test1
foo_bar2=test2
foo_bar3=test3
et lors du deroulement de mon script une variable bar va etre affectuée par une valeur qui va etre soit bar1, bar2 ou bar3 et je voudrais pourvoir utiliser le contenu de foo_bar1 si bar=bar1 etc ...
Je sais pas si j'ai ete clair ou pas mais si une personne a une solution je (…)
Je cherche un moyen de pouvoir stoquer le nom d'une variable dans une autre variable afin de pouvoir la tester.
Exemple :
foo_bar1=test1
foo_bar2=test2
foo_bar3=test3
et lors du deroulement de mon script une variable bar va etre affectuée par une valeur qui va etre soit bar1, bar2 ou bar3 et je voudrais pourvoir utiliser le contenu de foo_bar1 si bar=bar1 etc ...
Je sais pas si j'ai ete clair ou pas mais si une personne a une solution je (…)
Forum Programmation.shell Script Bash
Bonjour à tous.
Ce n'est pas sans émotion que j'écris mon première demande dans le forum.
Il y a un truc que je ne capte pas.
J'ai fait dans ma Debian le script bash ci-dessous simple qui range mes vidéos de mon Home et mes répertoires de téléchargement dans le répertoire video.
Sous ma Debian, ça marche perfecto, sauf pour les fichiers avec un espace (mais à la limite, ça je crois avoir déjà vu des solutions vite fait).
Le (…)
Ce n'est pas sans émotion que j'écris mon première demande dans le forum.
Il y a un truc que je ne capte pas.
J'ai fait dans ma Debian le script bash ci-dessous simple qui range mes vidéos de mon Home et mes répertoires de téléchargement dans le répertoire video.
Sous ma Debian, ça marche perfecto, sauf pour les fichiers avec un espace (mais à la limite, ça je crois avoir déjà vu des solutions vite fait).
Le (…)
Forum Programmation.shell Propager un alias depuis un script vers le shell courant
Bonjour,
Sur une machine où plusieurs utilisateurs (dont moi) partagent le même compte, je souhaite utiliser régulièrement des alias qui me sont propres.
Du fait que le compte est partagé, il est hors de question d'aller modifier les fichiers de configuration qui sont chargés au moment de la connexion.
J'ai donc en tête de stocker mes alias dans un script KSH (ce qui correspond à mon type de shell courant) que je pourrais exécuter à chaque connexion. Malheureusement, si je (…)
Sur une machine où plusieurs utilisateurs (dont moi) partagent le même compte, je souhaite utiliser régulièrement des alias qui me sont propres.
Du fait que le compte est partagé, il est hors de question d'aller modifier les fichiers de configuration qui sont chargés au moment de la connexion.
J'ai donc en tête de stocker mes alias dans un script KSH (ce qui correspond à mon type de shell courant) que je pourrais exécuter à chaque connexion. Malheureusement, si je (…)
Forum Programmation.shell insertion du caractère \ dans un PATH avec blanc
Bonjour, et joyeuses fêtes
Quand je fais :
find /tmp/./ -name *.exe
J'ai un résultat suivant
/tmp/./path/path windows avec des blancs/files1.exe
/tmp/./path/path windows avec des blancs/files2.exe
J'aimerais avoir les resultat suivant :
/tmp/./path/path\ windows\ avec\ des\ blancs/files1.exe
/tmp/./path/path\ windows\ avec\ des\ blancs/files2.exe
J'ai donc essayé :
find /tmp/./ -name *.exe | sed s/\ /_/g
Ce qui ne me convient pas car cela est inexploitable pour le monde UNIX. Le resultat devient :
/tmp/./path/path_windows_avec_des_blancs/files1.exe
J'ai donc essayé :
find /tmp/./ -name (…)
Quand je fais :
find /tmp/./ -name *.exe
J'ai un résultat suivant
/tmp/./path/path windows avec des blancs/files1.exe
/tmp/./path/path windows avec des blancs/files2.exe
J'aimerais avoir les resultat suivant :
/tmp/./path/path\ windows\ avec\ des\ blancs/files1.exe
/tmp/./path/path\ windows\ avec\ des\ blancs/files2.exe
J'ai donc essayé :
find /tmp/./ -name *.exe | sed s/\ /_/g
Ce qui ne me convient pas car cela est inexploitable pour le monde UNIX. Le resultat devient :
/tmp/./path/path_windows_avec_des_blancs/files1.exe
J'ai donc essayé :
find /tmp/./ -name (…)
Forum Programmation.shell comment trier un fichier en même temps que awk le lit
bonjour, merci d'avance pour votre aide ,
je cherche a trier, avec un script en bash, un fichier dont chaque ligne commence par un nombre de 0 à 600 puis une tabulation suivi du restant de la ligne , je souhaiterai le trier en autant de fichier que de nombre différent qui commence chaque ligne.
voici mon ébauche de débutant :
set nb_temp 600
while [$nb_temp]
do
cat resultat.txt | awk -F" " ' $1 ~/^""%3d" ",$nb_temp / {print $0}' (…)
je cherche a trier, avec un script en bash, un fichier dont chaque ligne commence par un nombre de 0 à 600 puis une tabulation suivi du restant de la ligne , je souhaiterai le trier en autant de fichier que de nombre différent qui commence chaque ligne.
voici mon ébauche de débutant :
set nb_temp 600
while [$nb_temp]
do
cat resultat.txt | awk -F" " ' $1 ~/^""%3d" ",$nb_temp / {print $0}' (…)
Forum Programmation.shell Problème avec les variables
Bonjour,
J'ai un problème avec les variables.
En effet je n'arrive pas résoudre ce problème.
Si titi=toto
et toto=tata
comment afficher tata grâce à titi.
J'ai essayé echo ${$titi} mais ça marche pas :-(
Merci pour votre aide.
RV
J'ai un problème avec les variables.
En effet je n'arrive pas résoudre ce problème.
Si titi=toto
et toto=tata
comment afficher tata grâce à titi.
J'ai essayé echo ${$titi} mais ça marche pas :-(
Merci pour votre aide.
RV
Forum Programmation.shell Effacer les fichier de moins 1K octet
Salutations
Je voudrais mettre en place un bash pour supprimer tout les fichiers de moins 1K octet dans des répertoires.
Je peut utiliser la commande rm -r , mais je ne sais pas comment faire pour connaître la capacité des fichiers.
Pouvez-vous m'aider svp.
Merci
http://tlabidouille.dyndns.org/
Je voudrais mettre en place un bash pour supprimer tout les fichiers de moins 1K octet dans des répertoires.
Je peut utiliser la commande rm -r , mais je ne sais pas comment faire pour connaître la capacité des fichiers.
Pouvez-vous m'aider svp.
Merci
http://tlabidouille.dyndns.org/
Forum Programmation.shell script de backup avec suppression de sauvegardes antérieures à n jours
Bonjour, Je cherche à coder un petit script de backup qui me permette de sauvegarder des données dans un dossier nommé à la date du jour et de supprimer les dossiers de sauvegarde antérieurs à n jours. J'arrive à faire la sauvegarde dans les dossiers horodatés sans soucis, mon problème, c'est pour la suppression des dossiers antérieurs, il faudrait que je puisse comparer la date du jour avec la date constituée à partir du nom du fichier (au format aaaammjj) (…)
Forum Programmation.shell Substitution de chaine connue par leur position
Bonsoir à tous,
avant tous je remercie toute personne qui apportent leur aide.
j'ai testé les differentes propositions postés sur ce forum concernant la susbsitution de chianes connues par leur position .
Or le probléme c'est que je travaille sous AIX ,et la solution consistait à utiliser cette ligne
${inStr::119}"$varpos1"${inStr:128}" pour remplacer la chaine qui occupe de la 119 ---> 128 par la valeur de $varpos1 ne marche pas.
Si quelqu'un a une autre solution, je suis preneur .
Cordialement
avant tous je remercie toute personne qui apportent leur aide.
j'ai testé les differentes propositions postés sur ce forum concernant la susbsitution de chianes connues par leur position .
Or le probléme c'est que je travaille sous AIX ,et la solution consistait à utiliser cette ligne
${inStr::119}"$varpos1"${inStr:128}" pour remplacer la chaine qui occupe de la 119 ---> 128 par la valeur de $varpos1 ne marche pas.
Si quelqu'un a une autre solution, je suis preneur .
Cordialement
Forum Programmation.shell Analyse de log/reprise
Salut,
J'ai ecris un petit scrit pour analyser mes logs. Pas de soucis tout fonctionne. Par contre, je voudrais le "perfectionner" et faire en sorte de le lancer regulierement (ie toutes les x heures par exemple). Mais je voudrais eviter de reprendre le log depuis le debut. D'ou ma question ; y a t'il un moyen simple d'indiquer "un point" de reprise ? Je pensais d'abord compter le nombre de ligne et le stocker.. mais je ne trouve pas ca (…)
J'ai ecris un petit scrit pour analyser mes logs. Pas de soucis tout fonctionne. Par contre, je voudrais le "perfectionner" et faire en sorte de le lancer regulierement (ie toutes les x heures par exemple). Mais je voudrais eviter de reprendre le log depuis le debut. D'ou ma question ; y a t'il un moyen simple d'indiquer "un point" de reprise ? Je pensais d'abord compter le nombre de ligne et le stocker.. mais je ne trouve pas ca (…)
Forum Programmation.shell find dans un script
Bonjour,
Je suis newbies.
J'aimerai faire un script qui recherche une application, ensuite la lance avec une option. mon script commence donc par
#!/bin/bash
export trouve="$(find ./ -name checkSysConf)"
$trouve -r
La variable "$trouve" est un ensemble de PATH.
L'option "-r" est bien prise mais seulement pour la dernière ligne.
Comment l'insérer a la fin de tout les PATH contenu dans "$trouve"?
Merci de votre aide
Je suis newbies.
J'aimerai faire un script qui recherche une application, ensuite la lance avec une option. mon script commence donc par
#!/bin/bash
export trouve="$(find ./ -name checkSysConf)"
$trouve -r
La variable "$trouve" est un ensemble de PATH.
L'option "-r" est bien prise mais seulement pour la dernière ligne.
Comment l'insérer a la fin de tout les PATH contenu dans "$trouve"?
Merci de votre aide
Forum Programmation.shell Script connexions SSH multiples
J'ai tenté d'écrire un petit script permettant d'exécuter une commande sur plusieurs machines d'un réseau. L'identification SSH se fait via une clé RSA. Mais j'obtiens une erreur lors de l'exécution du script...
./admin.sh: line 24: syntax error: unexpected end of file
./admin.sh: line 24: syntax error: unexpected end of file
#!/bin/sh
SUBNET=192.168.20.
ADDRESS_BEGIN=2
ADDRESS_END=16
echo -n Vérification de l\'identification root...' '
if [ `whoami` != root ]
then
echo Erreur > /dev/stderr
exit 1
fi
echo OK
for ((i = $ADDRESS_BEGIN; i <= $ADDRESS_END; i++));
do
ssh $SUBNET$i
Forum Programmation.shell migration samba des users sur red hat es4
bonjour,
je dois migrer mes users redhat en environnement samba sur un nouveau serveur à partir de script, j'ai recréé mes group, j'ai commencé pour les users avec :
useradd -c "SMB $INFO_USERS" -d /dev/null -g $GROUP_SMB -s /bin/false $NOM_LOGIN
je récupère le $info_users et $NOM_LOGIN dans passwd mais je ne vois pas comment récupérer le GROUP_SMB car je n'ai que le numéro du GID.
Merci de m'apporter des astuces.
je dois migrer mes users redhat en environnement samba sur un nouveau serveur à partir de script, j'ai recréé mes group, j'ai commencé pour les users avec :
useradd -c "SMB $INFO_USERS" -d /dev/null -g $GROUP_SMB -s /bin/false $NOM_LOGIN
je récupère le $info_users et $NOM_LOGIN dans passwd mais je ne vois pas comment récupérer le GROUP_SMB car je n'ai que le numéro du GID.
Merci de m'apporter des astuces.
Forum Programmation.shell Remplacement de chaine connues par leur position
Bonsoir à tous .
comme je suis débutant en shell, j'ai un ptit souci . Mon probleme consiste à remplacer dans une ligne de fichier , des chaines de caracteres connues par leurs position, par de nouvelles valeurs.
exemple : chaine ="aaaaaaaaa bb c bb i tot &&& $$ " , je veux remplacer la chaine contenue dans la position 10 à 13 par une valeur var.
nouvelle chaine =aaaaaaaaa varc bb i tot &&& $$ "
comme je suis débutant en shell, j'ai un ptit souci . Mon probleme consiste à remplacer dans une ligne de fichier , des chaines de caracteres connues par leurs position, par de nouvelles valeurs.
exemple : chaine ="aaaaaaaaa bb c bb i tot &&& $$ " , je veux remplacer la chaine contenue dans la position 10 à 13 par une valeur var.
nouvelle chaine =aaaaaaaaa varc bb i tot &&& $$ "
Forum Programmation.shell Traitement des variables
Bonjour à tous,
Je réalise actuellement un petit script qui n'a qu'un but didactique mais je suis face à quelques problèmes :
Quand je réalise cette commande je récupère dans $droit les différents droits du fichier ainsi que son type.
En gros un echo $droit me donnera par exemple : -rwx---r--
J'aimerais pouvoir découper le contenu de la variable (dans une boucle for par exemple) afin d'extraire le type et les (…)
Je réalise actuellement un petit script qui n'a qu'un but didactique mais je suis face à quelques problèmes :
droit=`ls -la $element | cut -d " " -f1`
Quand je réalise cette commande je récupère dans $droit les différents droits du fichier ainsi que son type.
En gros un echo $droit me donnera par exemple : -rwx---r--
J'aimerais pouvoir découper le contenu de la variable (dans une boucle for par exemple) afin d'extraire le type et les (…)
Forum Programmation.shell Probleme d'argument dans un shell
Bonjour à tous,
je rencontre un souci avec mon shell écrit en KSH.
C'est la première fois que je suis confronté à ce type de problème. En effet, je tente de récupérer plus de 9 arguments. Mon problème est que lorsque je fais ceci :
var1=$1
var2=$2
var3=$3
var4=$4
var5=$5
var6=$6
var7=$7
var8=$8
var9=$9
var10=$10
si je fais un printf de $10, il me retourne var10 (soit ${var1}0)
J'ai tenté de mettre ${10} d'après ce que j'ai vu dans les (…)
je rencontre un souci avec mon shell écrit en KSH.
C'est la première fois que je suis confronté à ce type de problème. En effet, je tente de récupérer plus de 9 arguments. Mon problème est que lorsque je fais ceci :
var1=$1
var2=$2
var3=$3
var4=$4
var5=$5
var6=$6
var7=$7
var8=$8
var9=$9
var10=$10
si je fais un printf de $10, il me retourne var10 (soit ${var1}0)
J'ai tenté de mettre ${10} d'après ce que j'ai vu dans les (…)
Forum Programmation.shell charge et memoire utilisee
Bonjour,
dans le cadre d'un developpement web, j'aimerai pouvoir monitorer les ressources systemes utilisees.
En pratique, je pense a integrer dans une page les informations permettant de voir le pourcentage de charge du processeur ainsi que la memoire utilisee.
Je vous remercie d'avance pour vos reponses.
dans le cadre d'un developpement web, j'aimerai pouvoir monitorer les ressources systemes utilisees.
En pratique, je pense a integrer dans une page les informations permettant de voir le pourcentage de charge du processeur ainsi que la memoire utilisee.
Je vous remercie d'avance pour vos reponses.
Forum Programmation.shell Supprimer des répertoires vides sans les connaitres
Bonjour,
Sur mon serveur j'ai un dossier vmail
Dans ce dossier je peux avoir :
vmail
--domaine1
----user1
------dossier
--------fichier
------dossier
------fichier
----user2
--domaine2
----user1
....etc...
J'ai une base de données MySQL dans laquelle il y a deux tables. Une table domain contenant les domaines web et une table user contenant l'adresse email des utilisateurs.
1er étape :
J'ai besoin d'un script capable de regarder pour chaque domain de la bdd si un user a un email de ce même (…)
Sur mon serveur j'ai un dossier vmail
Dans ce dossier je peux avoir :
vmail
--domaine1
----user1
------dossier
--------fichier
------dossier
------fichier
----user2
--domaine2
----user1
....etc...
J'ai une base de données MySQL dans laquelle il y a deux tables. Une table domain contenant les domaines web et une table user contenant l'adresse email des utilisateurs.
1er étape :
J'ai besoin d'un script capable de regarder pour chaque domain de la bdd si un user a un email de ce même (…)