Bonjour tout le monde,
j'ai un problème que je n'arrive pas à résoudre en shell.
Je souhaiterais obtenir la date du jour J-1 (J étant aujourd'hui) c'est à dire obtenir la date de hier.
J'ai essayé avec la commande date et à priori il n'y pas ce genre de possibilité.
Je pense maintenant me tourner plutot vers awk pour calculer ceci, est-ce que vous auriez une idée pour résoudre mon problème ?
Merci d'avance
Forum Programmation.shell Problème avec les espaces
Bonjour,
J'ai fait un petit script pour sauver un peu d'espace pour mes photos:
J'ai fait un petit script pour sauver un peu d'espace pour mes photos:
#On fous tous les fichiers .jpg du répertoire courant dans une variable
fichiers=`ls -l | grep .jpg`
#Compteur qui servira pour choisir un fichier différent à chaque passage de la boucle.
compteur=0
#Nombre de fichiers .jpg dans le répertoire courant
nbfichiers=`ls -1 | grep .jpg | wc -l`
#Boucle qui prend le nom du fichier, le compresse et le fous dans le dossier compresse.
if [ (…)
Forum Programmation.shell Premier script Bash
Bonjour,
Je suis en train d'apprendre le Bash et je veux vous montrer ma première création utile: http://maximead.net:8080/bash/ppxr.sh .
Dites-moi ce que vous en pensez et pouvez-vous me dire comment activer l'auto-complétion lorsque l'utilisateur rentre le nom des deux fichiers? Avec read je ne sais pas comment faire...
Merci :)
Je suis en train d'apprendre le Bash et je veux vous montrer ma première création utile: http://maximead.net:8080/bash/ppxr.sh .
Dites-moi ce que vous en pensez et pouvez-vous me dire comment activer l'auto-complétion lorsque l'utilisateur rentre le nom des deux fichiers? Avec read je ne sais pas comment faire...
Merci :)
Forum Programmation.shell copier a l'identique un repertoire dont le nom possède un espace
Bonjour,
Je fais un script qui doit copier un répertoire. Mais avant de le copier je vérifie si le répertoire existe au non à la destination.
Mon problème est que certains de ces répertoires ont des espaces dans leur noms. Si quelqu'un a une idée.
Voici à quoi ressemble mon script pour le moment
path_source="/.../docs/" path_dest="/.../docscopie/" cd $path_source find -type d | sed s/./""/ | sed /^$/d > $path_dest/temprep.txt cd $path_dest cat
Forum Programmation.shell la commande "wait" dans la programmation shell
bonjour,
Je voulais exécuter une commande sous le shell de linux après 4 secondes. Je ne trouve pas la commande.
Je m'explique encore :
Je programme un script, et pour éviter d'afficher quelque chose avec une commande avant que la commande qui la précède ne finisse l'affichage de ces résultats, je voulais reporter l'exécution de cette commande. Si cet artifice n'est pas le bon, comment il faut faire.
merci beaucoup.
Je voulais exécuter une commande sous le shell de linux après 4 secondes. Je ne trouve pas la commande.
Je m'explique encore :
Je programme un script, et pour éviter d'afficher quelque chose avec une commande avant que la commande qui la précède ne finisse l'affichage de ces résultats, je voulais reporter l'exécution de cette commande. Si cet artifice n'est pas le bon, comment il faut faire.
merci beaucoup.
Forum Programmation.shell PB pour lancer un ficher contenant un requete SQL
salut,
alors je suis debutant en shell et encore plus en linux, on me demande de faire un truk que j'arrive pas a trouver dans les differents forum de net, aider a trouver la commande qui fait lancer un fichier avec des parametres...
merci d'avance
alors je suis debutant en shell et encore plus en linux, on me demande de faire un truk que j'arrive pas a trouver dans les differents forum de net, aider a trouver la commande qui fait lancer un fichier avec des parametres...
merci d'avance
Forum Programmation.shell utilisation swap
Bonjour,
Je cherche à récupérer quels processus sont actuellement en swap. J'ai essayé ps et top mais sans succès. Je suis sous un noyau 2.6 si ça influence quelque chose.
Merci.
Je cherche à récupérer quels processus sont actuellement en swap. J'ai essayé ps et top mais sans succès. Je suis sous un noyau 2.6 si ça influence quelque chose.
Merci.
Forum Programmation.shell serveur
Exercice:
J'ai un programme A qui se connecte à un serveur B.
Sachant que je peux demander à A de se connecter sur C, j'aimerai faire un script shell qui me loggue tout le trafic entre A et B.
Quelqu'un saurait-il me faire ça ?
Forum Programmation.shell nombre de jours entre deux dates
Bonsoir, je cherche un script shell sh/ksh unix qui donne le nombre de jours entre deux date :
Date MM/JJ/AAAA
Date1=01/19/2006, Date2=06/14/2006
D'avance merci.
Cordialement.
Célestin.
Date MM/JJ/AAAA
Date1=01/19/2006, Date2=06/14/2006
D'avance merci.
Cordialement.
Célestin.
Forum Programmation.shell substitution sed
bonjour,
Je cherche à substituer une chaine de caractère se trouvant dans un fichier :
sed -e s/chaine_source/chaine_cible/g mon_fichier
Mon problème est que ma "chaine_cible" est une variable?
sed -e s/chaine_source/$ma_variable/g mon_fichier ne marche pas.... la chaine source est remplacée par la chaine ("en dur") $ma_variable
avez vous des idées?
Je cherche à substituer une chaine de caractère se trouvant dans un fichier :
sed -e s/chaine_source/chaine_cible/g mon_fichier
Mon problème est que ma "chaine_cible" est une variable?
sed -e s/chaine_source/$ma_variable/g mon_fichier ne marche pas.... la chaine source est remplacée par la chaine ("en dur") $ma_variable
avez vous des idées?
Forum Programmation.shell probleme script bash et crontab
bonjour a tous et meilleurs voeux pour 2006 :-)
je me permet de vous ecrire afin d'avoir vos lumieres Ô grands gouroux linuxiens :-D
Voila, je debute sous linux, et j'ai pour ma société installé un PC qui doit servir de server web interne (4 utilisateurs). j'ai donc installé une Mandrake 10 avec Apache, Php et Mysql et SSL. jusque la tout fonctionne super bien :). Afin de sauvegarder tout ça, j'ai créé un script bash qui fait un mysqldump (…)
je me permet de vous ecrire afin d'avoir vos lumieres Ô grands gouroux linuxiens :-D
Voila, je debute sous linux, et j'ai pour ma société installé un PC qui doit servir de server web interne (4 utilisateurs). j'ai donc installé une Mandrake 10 avec Apache, Php et Mysql et SSL. jusque la tout fonctionne super bien :). Afin de sauvegarder tout ça, j'ai créé un script bash qui fait un mysqldump (…)
Forum Programmation.shell [Korn Shell] Problème avec un Grep
Bonjour
J'ai un petit soucis en korn shell avec l'utilisation d'un grep dans ce morceau de code
Code :
Je veux qu'il rentre dans la condition si le premier fichier de mon rep contient le mot CORF13 ET le mot Sheet1
A priori quand je lance la commande "ls" seule il me (…)
J'ai un petit soucis en korn shell avec l'utilisation d'un grep dans ce morceau de code
Code :
elif ls $LOCAL_PROCESS_DIR | head -1 | grep -q -w 'CORF13|Sheet1'; then echo "Sheet 1 OK";
file=$(ls $LOCAL_PROCESS_DIR | head -1 | egrep -w 'CORF13|Sheet1')
mv $LOCAL_PROCESS_DIR/$file $LOCAL_PROCESS_DIR/KPI_CORF13_KPI1.CSV
Je veux qu'il rentre dans la condition si le premier fichier de mon rep contient le mot CORF13 ET le mot Sheet1
A priori quand je lance la commande "ls" seule il me (…)
Forum Programmation.shell comment reconnaitre un fichier
Bonjour a tous,
Voilà mon problème:
j'ai des fichiers logs:
009_psaz_20060102.txt
009_psaz_20060102.txt.zip
comment faire pour savoir si c'est zip ou un txt sachant que les répertoires ou ce trouve ces logs sont nombreux.
Voici ma commande:
cd /
find . -name *20060102* -print | la suite je ne trouve pas ...
car cette commande affiche les 2 fichiers.
voici le résultat que je souhaite:
1 cherche le fichier par date *AAAAMMJJ*
2 si c'est un fichier txt ouvre le avec (…)
Voilà mon problème:
j'ai des fichiers logs:
009_psaz_20060102.txt
009_psaz_20060102.txt.zip
comment faire pour savoir si c'est zip ou un txt sachant que les répertoires ou ce trouve ces logs sont nombreux.
Voici ma commande:
cd /
find . -name *20060102* -print | la suite je ne trouve pas ...
car cette commande affiche les 2 fichiers.
voici le résultat que je souhaite:
1 cherche le fichier par date *AAAAMMJJ*
2 si c'est un fichier txt ouvre le avec (…)
Forum Programmation.shell Nettoyage d'archives
Bonjour,
Je cherche une solution dans un script bash se sauvegarde des exports MySQL. Actuellement, mon script sauvegarde simplement MySQL de la sorte:
pour toutes les tables. Je voudrais savoir comment faire pour supprimer les fichiers vieux de plus de 10 jours dans mon /home/sql_dump/...
Merci
Je cherche une solution dans un script bash se sauvegarde des exports MySQL. Actuellement, mon script sauvegarde simplement MySQL de la sorte:
/usr/bin/mysqldump --user=USER --password=PASS --add-drop-table BASE > /home/sql_dump/TABLE-`date +%d%m%Y`.dmp.sql
pour toutes les tables. Je voudrais savoir comment faire pour supprimer les fichiers vieux de plus de 10 jours dans mon /home/sql_dump/...
Merci
Forum Programmation.shell Test sur la taille d'un fichier
Je voudrais pour faire un script qui me permette de tester selon la taille d'un fichier, un truc de ce genre - ci :
if [ la taille du fichier est supérieure à 45 octets ]
then
echo Ok
else
echo Pas ok
fi
Il y a bien un test -s mais il vérifie juste que le fichier a bien une taille supérieur à 0...
Merci de me donner un coup de main.
if [ la taille du fichier est supérieure à 45 octets ]
then
echo Ok
else
echo Pas ok
fi
Il y a bien un test -s mais il vérifie juste que le fichier a bien une taille supérieur à 0...
Merci de me donner un coup de main.
Forum Programmation.shell Génération de plusieurs fichiers avec un petit script shell
Salut
Je cherche à faire un petit script shell qui me permet à partir d'un fichier de générer 4 fichiers de la façon suivante :
ligne1 dans fichier1
ligne2 dans fichier2
ligne3 dans fichier3
ligne4 dans fichier4
ligne5 dans fichier1
ligne6 dans fichier2
...
J'avoue que je ne sais pas vraiment par ou commencer.
Merci par avance de toute l'aide que vous pouvez m'apporter.
Je cherche à faire un petit script shell qui me permet à partir d'un fichier de générer 4 fichiers de la façon suivante :
ligne1 dans fichier1
ligne2 dans fichier2
ligne3 dans fichier3
ligne4 dans fichier4
ligne5 dans fichier1
ligne6 dans fichier2
...
J'avoue que je ne sais pas vraiment par ou commencer.
Merci par avance de toute l'aide que vous pouvez m'apporter.
Forum Programmation.shell Trouver un mot dans un fichier
Bonjour,
J'aimerais savoir comment faire pour trouver un mot
dans un fichier, que l''on ne connait pas...:!
Par exemple, connaitre tout les fichier de mon disque
dur contenant le mot "foo"...
Merci d'avance
J'aimerais savoir comment faire pour trouver un mot
dans un fichier, que l''on ne connait pas...:!
Par exemple, connaitre tout les fichier de mon disque
dur contenant le mot "foo"...
Merci d'avance
Forum Programmation.shell scp lit .bashrc...?
j'ai ecri un petit script, pour exporter la variable DISPLAY
à chaque ssh:
#Declare automatique DISPLAY
CONS=$(tty | sed "s~/dev/~~g")
ATIP=$(who | grep $CONS | awk '{print $6}' | sed "s~(~~g" | sed "s~)~~g" | sed "s~::ffff:~~g" )
echo "DISPLAY=$ATIP:0"
export DISPLAY=$ATIP:0
unset CONS
unset ATIP
Je l'ai mise sur la machine distante, un solaris.
Quand, depuis ma machine locale je fais:
scp kowalsky@192.168.0.124:/etc/hosts /etc/hosts
j'ai un retour du type:
grep: can't open protocol error: bad mode
You have mail (…)
à chaque ssh:
#Declare automatique DISPLAY
CONS=$(tty | sed "s~/dev/~~g")
ATIP=$(who | grep $CONS | awk '{print $6}' | sed "s~(~~g" | sed "s~)~~g" | sed "s~::ffff:~~g" )
echo "DISPLAY=$ATIP:0"
export DISPLAY=$ATIP:0
unset CONS
unset ATIP
Je l'ai mise sur la machine distante, un solaris.
Quand, depuis ma machine locale je fais:
scp kowalsky@192.168.0.124:/etc/hosts /etc/hosts
j'ai un retour du type:
grep: can't open protocol error: bad mode
You have mail (…)
Forum Programmation.shell Utilisation de la commande date
Bonjour a tous
Je cherche de l'aide sur la commande date,
en fait je cherche a afficher l'heure UTC d'une date arbitraire en bash.
Je cherche quelque chose du style :
qui est censée m'afficher le nombre de secondes écoulées depuis le 01/01/1970 00:00:00 à la date du 25/12/2005 00:00:00
Si quelqu'un a déjà fait ce genre de chose, je lui serai gré de me faire partager son expérience
merci d'avance
Je cherche de l'aide sur la commande date,
en fait je cherche a afficher l'heure UTC d'une date arbitraire en bash.
Je cherche quelque chose du style :
date "+%s" 122500002005.00
qui est censée m'afficher le nombre de secondes écoulées depuis le 01/01/1970 00:00:00 à la date du 25/12/2005 00:00:00
Si quelqu'un a déjà fait ce genre de chose, je lui serai gré de me faire partager son expérience
merci d'avance
Forum Programmation.shell Transformation d'occurence de metacaractère
Bonjour,
Je cherche a réaliser un script permettant de transformer tt les caractères "\n" en "\r\n" pour une compatibilité avec une machine a commande numérique.
par exemple en utilisant hexdump -c fic.txt je cherche a obtenir :
Source :
m e r c i a l i n u x f r . o r g \n
Resultat
m e r c i a l i n u x f r . o r g \r \n
J'ai essayé de (…)
Je cherche a réaliser un script permettant de transformer tt les caractères "\n" en "\r\n" pour une compatibilité avec une machine a commande numérique.
par exemple en utilisant hexdump -c fic.txt je cherche a obtenir :
Source :
m e r c i a l i n u x f r . o r g \n
Resultat
m e r c i a l i n u x f r . o r g \r \n
J'ai essayé de (…)
Forum Programmation.shell aidez à moi à faire des scripts en shell svp
Bonjour,
J'aimerais savoir si vous pouvez m 'aider à faire ces trois scripts en shell
premier script: afficher de manière numérotée les fichier de format mp3 présent dans les dossiers contenus dans le dossier racine. Par contre le dossier à prendre en compte comme dossier comme dossier racine au moyen d'une variable
second script: Modifier le script précédent afin de prendre en compte une commande de tri , c'est-à-dire par titre,par album,par artiste,par année et par genre
troisième script: ajouter (…)
J'aimerais savoir si vous pouvez m 'aider à faire ces trois scripts en shell
premier script: afficher de manière numérotée les fichier de format mp3 présent dans les dossiers contenus dans le dossier racine. Par contre le dossier à prendre en compte comme dossier comme dossier racine au moyen d'une variable
second script: Modifier le script précédent afin de prendre en compte une commande de tri , c'est-à-dire par titre,par album,par artiste,par année et par genre
troisième script: ajouter (…)
Forum Programmation.shell Redirection générale
Bonjour à tous.
Je vais essayer d'être clair dans mes explications.
Je cherche le moyen de rediriger tous les retours vers le même endroit, mais sans avoir à le faire ligne à ligne.
Par exemple:
au lieu de faire
action 1 > /dev/nul
action2 > /dev/nul
action3 >/dev/nul
je voudrais faire:
[mode dev/null on]
action1
action2
action3
[mode dev/null off]
Autrement formulé: existe t-il un moyen d'intercepter de façon générale ce qui part vers stdout ? Est ce faisable ?
Je vais essayer d'être clair dans mes explications.
Je cherche le moyen de rediriger tous les retours vers le même endroit, mais sans avoir à le faire ligne à ligne.
Par exemple:
au lieu de faire
action 1 > /dev/nul
action2 > /dev/nul
action3 >/dev/nul
je voudrais faire:
[mode dev/null on]
action1
action2
action3
[mode dev/null off]
Autrement formulé: existe t-il un moyen d'intercepter de façon générale ce qui part vers stdout ? Est ce faisable ?
Forum Programmation.shell Comment modifier chaque ligne dans un fichier ?
bonjour a tous,
Comment modifier chaque ligne dans un fichier ?
je souhaite incrémenté chaque ligne
voici mon fichier ( toto.txt):
1245;tous;ok;78y9;local;14587
numer;tous;ok;7d89;local;12457
g1245;tous;ok;7d89;local;124587
TY1245;tous;ok;7849;local;12487
voici mon script:
fic=`cat toto`
for n in $fic
do
num=`expr 12 + 1`
awk 'BEGIN {flag=0}; /tous/ {flag=1;} flag==1 { print "$num"$0}' $fic
done
Mais ça marche pas !!
le résultat que je souhaite:
13;tous;ok;78y9;local;14587
14;tous;ok;7d89;local;12457
15;tous;ok;7d89;local;124587
16;tous;ok;7849;local;12487
Merci pour toutes réponses.
Comment modifier chaque ligne dans un fichier ?
je souhaite incrémenté chaque ligne
voici mon fichier ( toto.txt):
1245;tous;ok;78y9;local;14587
numer;tous;ok;7d89;local;12457
g1245;tous;ok;7d89;local;124587
TY1245;tous;ok;7849;local;12487
voici mon script:
fic=`cat toto`
for n in $fic
do
num=`expr 12 + 1`
awk 'BEGIN {flag=0}; /tous/ {flag=1;} flag==1 { print "$num"$0}' $fic
done
Mais ça marche pas !!
le résultat que je souhaite:
13;tous;ok;78y9;local;14587
14;tous;ok;7d89;local;12457
15;tous;ok;7d89;local;124587
16;tous;ok;7849;local;12487
Merci pour toutes réponses.
Forum Programmation.shell Cron (je pense)
Bonsoir à tou(te)s...
Dans scipt sh, j'ai ceci :
Je me sers ensuite du contenu de result.
Mon pb: si je lance mon script au prompt, pas de problème : le contenu de la page est très bien récupéré. mais si je lance le même script avec cron : là tout les caractères accentués partent sont faussés et ça donne un charabia compréhensible mais pas très agréable à l'oeil...
Je suppose que 'est un (…)
Dans scipt sh, j'ai ceci :
lynx -dump -force_html http://infotrafic.grandlyon.com/_Ptnoirs/PTptnoirs.php > result
Je me sers ensuite du contenu de result.
Mon pb: si je lance mon script au prompt, pas de problème : le contenu de la page est très bien récupéré. mais si je lance le même script avec cron : là tout les caractères accentués partent sont faussés et ça donne un charabia compréhensible mais pas très agréable à l'oeil...
Je suppose que 'est un (…)
Forum Programmation.shell petite question sur grep
bonjour,
est-il possible d'utiliser grep sous bash pour obtenir plusieurs resultats?
Je m'explique je voudrais extraire un ensemble de deux types de lignes d'un fichier : la premiere commence toujours par 'TITR' et elle suivie, après un nombre variable de lignes (pas plus de 20) d'une autre qui commence toujours par '==', ...et ainsi de suite pour tout le fichier.
J'obtiens l'une ou l'autre mais les deux en même temps :
grep -G '^TITR' -a20 fichier | grep '^==' par (…)
est-il possible d'utiliser grep sous bash pour obtenir plusieurs resultats?
Je m'explique je voudrais extraire un ensemble de deux types de lignes d'un fichier : la premiere commence toujours par 'TITR' et elle suivie, après un nombre variable de lignes (pas plus de 20) d'une autre qui commence toujours par '==', ...et ainsi de suite pour tout le fichier.
J'obtiens l'une ou l'autre mais les deux en même temps :
grep -G '^TITR' -a20 fichier | grep '^==' par (…)