J'aimerais réaliser ceci à l'aide d'un script shell :
Je dispose de 2 fichiers A et B, et je souhaite trouver toutes les lignes de A qui ne sont pas dans B, puis toutes les lignes de B qui ne sont pas dans A.
J'ai essayé avec la commande diff, mais elle nécessite que les 2 fichiers soit triés de façon semblables, or ce n'est pas le cas. Ils sont déjà triés (mais différemment) et je voudrais éviter d'en faire (…)
Forum Programmation.shell tcsh et interprétation de variables
Bonjour,
j'ai un petit problème débile dont je n'arrive pas à me dépatouiller :
$ set var1 = /home/toto
$ echo $var1
/home/toto
$ set var2 = '$var1/documents'
$ echo $var2
$var1/documents
Pour l'instant tout va bien (je récupère en fait $var2 d'ailleurs, mais c'est pour l'exemple).
Comment faire maintenant pour avoir simplement $var3 = /home/toto/documents ?
$ eval $var2
/home/toto/documents: Command not found.
Si $var2 ne contient qu'une seule chaîne de caractères, je peux récupérer ce qu'il y a (…)
j'ai un petit problème débile dont je n'arrive pas à me dépatouiller :
$ set var1 = /home/toto
$ echo $var1
/home/toto
$ set var2 = '$var1/documents'
$ echo $var2
$var1/documents
Pour l'instant tout va bien (je récupère en fait $var2 d'ailleurs, mais c'est pour l'exemple).
Comment faire maintenant pour avoir simplement $var3 = /home/toto/documents ?
$ eval $var2
/home/toto/documents: Command not found.
Si $var2 ne contient qu'une seule chaîne de caractères, je peux récupérer ce qu'il y a (…)
Forum Programmation.shell Sed, awk & cie
Bonjour
J'essaie de traiter ce genre de flux (résultat de 'yum list')
kernel.i686 2.6.23.8-63.fc8 installed kernel.i686 2.6.23.1-49.fc8 installed kernel-devel.i686 2.6.23.8-63.fc8 installed kernel-headers.i386 2.6.23.8-63.fc8 installed arm-gp2x-linux-kernel-headers.noarch 2.6.12.0-2.fc8 fedora kernel.i586 2.6.23.8-63.fc8 updates kernel-PAE.i686 2.6.23.8-63.fc8 updates kernel-PAE-debug.i686 2.6.23.8-63.fc8 updates kernel-PAE-debug-devel.i686 2.6.23.8-63.fc8 updates kernel-PAE-devel.i686 2.6.23.8-63.fc8 updates kernel-debug.i686 2.6.23.8-63.fc8 updates kernel-debug-devel.i686 2.6.23.8-63.fc8 updates kernel-devel.i586 2.6.23.8-63.fc8 updates kernel-doc.noarch 2.6.23.8-63.fc8 updates kernel-xen.i686 2.6.21-2952.fc8 updates kernel-xen-2.6-doc.noarch 2.6.21-2952.fc8 updates kernel-xen-devel.i686 2.6.21-2952.fc8 updates yum-kernel-module.noarch 1.1.8-1.fc8 fedoraJ'aimerais récupérer dans 4 colonnes le nom, l'architecture, la version et enfin le numéro (…)
Forum Programmation.shell ouvrir un fichier avec des programmes en ligne de commande bash
je dois procéder à une succession de traitements sur des fichiers videos mpeg: reformattage, demuxage et remuxage .
je peux trouver les lignes de commandes permettant ces traitements à l' aide d' un script bash mais mon probléme est de faire reconnaitre à ce script le fichier en entrée .
exemple j' avais la ligne de commande suivante dans mon menu KDE:
ffmpeg -i %u -f mpeg -acodec copy -vcodec copy $home %u+"corrige"
qui me premet de réaliser ce traitement (…)
je peux trouver les lignes de commandes permettant ces traitements à l' aide d' un script bash mais mon probléme est de faire reconnaitre à ce script le fichier en entrée .
exemple j' avais la ligne de commande suivante dans mon menu KDE:
ffmpeg -i %u -f mpeg -acodec copy -vcodec copy $home %u+"corrige"
qui me premet de réaliser ce traitement (…)
Forum Programmation.shell système de verrou ( 1 = 2, sisi avec linux )
Je viens à votre rencontre pour vous aider dans ma recherche ^^ (voilà une manière de dire que l'on as besoin d'aide).
Plus sérieusement, je tente de me défaire des fichiers verrous que l'on peut créer dans nos scripts, tels que ceux que l'on peut mettre dans le /var/run.
J'ai pensé à une méthode, celle de compter le nombre de processus en cours et si le nombre de processus est égal à 2 ou supérieur .... c'est que le script (…)
Plus sérieusement, je tente de me défaire des fichiers verrous que l'on peut créer dans nos scripts, tels que ceux que l'on peut mettre dans le /var/run.
J'ai pensé à une méthode, celle de compter le nombre de processus en cours et si le nombre de processus est égal à 2 ou supérieur .... c'est que le script (…)
Forum Programmation.shell Script de sauvegarde totale/incrémentielle via tar
Bonjour,
Je cherche à faire un script de sauvegarde qui gère l'incrémentiel. Mon script est pratiquement fait, me reste plus qu'un petit soucis, j'aimerrai pouvoir sauvegarder dans les incrémentielles seulement les fichiers qui ont changés depuis la dernière sauvegarde totale.
J'ai une fonctione qui détermine le dernier jour ouvré (qui fonctionne très bien). Et suivant ce jour ouvré, on détermine si il y a eu une sauvegarde, si il y en as pas, la sauvegarde du jour actuel sera totale, (…)
Je cherche à faire un script de sauvegarde qui gère l'incrémentiel. Mon script est pratiquement fait, me reste plus qu'un petit soucis, j'aimerrai pouvoir sauvegarder dans les incrémentielles seulement les fichiers qui ont changés depuis la dernière sauvegarde totale.
J'ai une fonctione qui détermine le dernier jour ouvré (qui fonctionne très bien). Et suivant ce jour ouvré, on détermine si il y a eu une sauvegarde, si il y en as pas, la sauvegarde du jour actuel sera totale, (…)
Forum Programmation.shell Besoin d'aide pour un petit script de renommage
Bonjour à tous,
En ce moment, j'ai un peu le cerveau en compote et la programmation shell n'arrangeant pas vraiment les choses, je requière votre aide.
Je voudrais faire un script qui reçoive deux noms de fichiers :
pattern1.ext1 et pattern2.ext2
et je voudrais (tout simplement), renommer le premier fichier en :
pattern2.ext1
Merci d'avance pour le prêt de vos neurones !
En ce moment, j'ai un peu le cerveau en compote et la programmation shell n'arrangeant pas vraiment les choses, je requière votre aide.
Je voudrais faire un script qui reçoive deux noms de fichiers :
pattern1.ext1 et pattern2.ext2
et je voudrais (tout simplement), renommer le premier fichier en :
pattern2.ext1
Merci d'avance pour le prêt de vos neurones !
Forum Programmation.shell synchronisation de ftp à l'aide de lftp
Bonjour à tous, j'utilise la commande lftp avec l'option mirror -R pour synchroniser un disque local et un serveur ftp.
Mon probleme est le suivant :
Mon pc est en heure CEST (UTC +2).Le serveur est en UTC.
La commande lftp se basant sur les dates de fichiers pour savoir si un fichier a été modifié, il en voit les modifs que 2 heures trop tard. En effet, il se base sur l'heure brute, telle qu'on peut la voir en (…)
Mon probleme est le suivant :
Mon pc est en heure CEST (UTC +2).Le serveur est en UTC.
La commande lftp se basant sur les dates de fichiers pour savoir si un fichier a été modifié, il en voit les modifs que 2 heures trop tard. En effet, il se base sur l'heure brute, telle qu'on peut la voir en (…)
Forum Programmation.shell comparer 2 fichiers sans fusion
Bonjour,
je souhaite comparer 2 fichiers juste pour savoir s'ils sont identiques ou pas, je ne veux pas les fusionner.
S'ils sont identiques je supprime le + récent et s'ils sont différents je supprime l'ancien.
j'ai fait ça, mais ça ne fonctionne pas car il s'attend à des chiffres je pense
l'erreur est "integer expression expected"
Merci (…)
je souhaite comparer 2 fichiers juste pour savoir s'ils sont identiques ou pas, je ne veux pas les fusionner.
S'ils sont identiques je supprime le + récent et s'ils sont différents je supprime l'ancien.
j'ai fait ça, mais ça ne fonctionne pas car il s'attend à des chiffres je pense
comp=`diff -s passe.html actuel.html`
ident="Files passe.html and actuel.html are identical"
wget http://127.0.0.1/catcher/example3.php -O /var/www/catcher/actuel.html
while [ "$comp" -ne "ident" ] ; do
...
l'erreur est "integer expression expected"
Merci (…)
Forum Programmation.shell Script de comparaisons du contenu des fichiers de 2 répertoires
Bonjour à tous,
Je doit comparer le contenu des fichiers situés dans 2 répertoires (/etc) je voudrais automatiser cela via un script (histoire de ne pas me cassé la tête pour rien)
J'ai commencé a élaborer ceci mais n'étant pas un scripteur né je pense qu'il y à quelques erreurs, notament au niveau du "if" j'ai l'impression qu'il essaye de traité toutes la liste plutot que de traiter les information ligne par ligne.
Pouvez-vous m'aider à avancer ou m'expliquer ou (…)
Je doit comparer le contenu des fichiers situés dans 2 répertoires (/etc) je voudrais automatiser cela via un script (histoire de ne pas me cassé la tête pour rien)
J'ai commencé a élaborer ceci mais n'étant pas un scripteur né je pense qu'il y à quelques erreurs, notament au niveau du "if" j'ai l'impression qu'il essaye de traité toutes la liste plutot que de traiter les information ligne par ligne.
Pouvez-vous m'aider à avancer ou m'expliquer ou (…)
Forum Programmation.shell For i in ...
Bonjour à tous,
Juste pour ma culture personnelle, à l'image de la correspondance entre
y a t-il une autre façon de faire un
Ma recherche sur le net n'a pas été fructueuse...
Merci d'avance !
Juste pour ma culture personnelle, à l'image de la correspondance entre
for i in `cat toto`
et for i in $(<toto)
y a t-il une autre façon de faire un
for i in `cat`
?Ma recherche sur le net n'a pas été fructueuse...
Merci d'avance !
Forum Programmation.shell commande awk sans espace
Bonjour,
La commande suivante :
me donne la liste suivante :
J'aimerai supprimer l'espace du résultat.
J'ai essayé un pipe avec sed mais cela ne fonctionne pas
La commande suivante :
USERID=`awk 'BEGIN { FS=":"} $3 >= 70000 {print$1","}' /etc/passwd`; echo $USERID
me donne la liste suivante :
user1, user2, user3, user4
J'aimerai supprimer l'espace du résultat.
J'ai essayé un pipe avec sed mais cela ne fonctionne pas
Forum Programmation.shell Awk recherche expression entre parenthese
Bonjour,
J'ai un fichier ou je capture les ligne avec le mot "value" et où tout les mot que je recherche sont entre parenthèse. J'ai essayé de faire une recherche avec awk sans succès.
Merci de votre aide
J'ai un fichier ou je capture les ligne avec le mot "value" et où tout les mot que je recherche sont entre parenthèse. J'ai essayé de faire une recherche avec awk sans succès.
#~: awk '/value/ || ^( ' fichier.html
awk: /value/ || ^(
awk: ^ syntax error
#~:
Merci de votre aide
Forum Programmation.shell retrouver la vraie IP avec AWK ou autres
Bonjour,
je suis un debutant en shell.
Dans un fichier qui contient plusieurs bloc define , comme un fichier nagios par exemple , je veux recuperer un bloc bien precis en ne sachant que l'IP ( j'ai mes raisons :) ). J'ai donc cherche sur la toile et j'ai trouve du code interessant. Apres quelques modifs et tests , j'ai ca comme code.
awk 'BEGIN{RS="}"} /define/ && /mon_IP/ { print $0 "}" }' mon_fichier
Mais voila , y a juste (…)
je suis un debutant en shell.
Dans un fichier qui contient plusieurs bloc define , comme un fichier nagios par exemple , je veux recuperer un bloc bien precis en ne sachant que l'IP ( j'ai mes raisons :) ). J'ai donc cherche sur la toile et j'ai trouve du code interessant. Apres quelques modifs et tests , j'ai ca comme code.
awk 'BEGIN{RS="}"} /define/ && /mon_IP/ { print $0 "}" }' mon_fichier
Mais voila , y a juste (…)
Forum Programmation.shell ftp: envoie d'un fichier seulement si plus récent et taillé modifée
Bonjour à tous,
j'essaie actuellement de créer un script qui permette d'envoyer un fichier sur un serveur ftp, uniquement si le fichier local est plus récent que le fichier distant ou si sa taille a changé.
J'ai aussi essayé avec la commande wput, et il ne voit une différence de date seulement si l'heure a changé, mais quand il y seulement une différences de minutes, il ne voit rien!
Avez vous une idée?
Merci
Loic
j'essaie actuellement de créer un script qui permette d'envoyer un fichier sur un serveur ftp, uniquement si le fichier local est plus récent que le fichier distant ou si sa taille a changé.
J'ai aussi essayé avec la commande wput, et il ne voit une différence de date seulement si l'heure a changé, mais quand il y seulement une différences de minutes, il ne voit rien!
Avez vous une idée?
Merci
Loic
Forum Programmation.shell Question sed
Hello cher forum,
Me voici confronté à un mozilla récalcitrant qui a "subrepticement" effacé tout le contenu de la boîte de réception.
Le fichier Inbox présent sur le disque fait environ 1,2 Go (le "dossier" de messagerie n'a jamais été "compacté").
Je voudrais récupérer les messages, et donc, forcer mozilla à recréer le fichier d'index, pour que l'utilisateur puisse faire ensuite du tri et retrouver ses mails.
J'ai vu en [1] qu'il était possible de le faire, en éditant le (…)
Forum Programmation.shell Script pour modifier C++ sources
Bonjour,
j'ai une 100ene de fichiers .h et une autre de .cpp à modifier de la facon suivante :
Pour les .h tout ce qui est de cette forme
/**
* Licence
*/
#ifndef TOTO_H
#define TOTO_H
#include "TATA.h"
/**
* @author ...
*/
class TOTO
{ public:
...
}
Par
/**
* Licence
*/
#ifndef TOTO_H
#define TOTO_H
#include "TATA.h"
/**
* @author ...
*/
namespace TITI
{
class TOTO
{ public:
...
}
}
Donc ajouter namespace TITI (…)
j'ai une 100ene de fichiers .h et une autre de .cpp à modifier de la facon suivante :
Pour les .h tout ce qui est de cette forme
/**
* Licence
*/
#ifndef TOTO_H
#define TOTO_H
#include "TATA.h"
/**
* @author ...
*/
class TOTO
{ public:
...
}
Par
/**
* Licence
*/
#ifndef TOTO_H
#define TOTO_H
#include "TATA.h"
/**
* @author ...
*/
namespace TITI
{
class TOTO
{ public:
...
}
}
Donc ajouter namespace TITI (…)
Forum Programmation.shell chown récursif avec exclusion de répertoire
Salut à tous !
J'aimerais faire un chown -R sur un répertoire en excluant un sous répertoire.
Ex:
[root@WW-NOITST08 miles]# ls -l ./MilesRoot
total 1376
drwxrwxrwx 3 nlaccept nlaccept 12288 sep 19 14:47 batch
drwxrwxrwx 3 nlaccept nlaccept 4096 sep 19 11:39 command
drwxrwxrwx 8 nlaccept nlaccept 4096 sep 4 12:16 milesweb
drwxrwxrwx 3 nlaccept nlaccept 4096 sep 4 12:16 policy
drwxr-xr-x 1 root root 4096 sep 19 14:57 report
--> chown -R --exclude report nlaccept:nlaccept ./MilesRoot
Malheureusement, l'option exclude (…)
J'aimerais faire un chown -R sur un répertoire en excluant un sous répertoire.
Ex:
[root@WW-NOITST08 miles]# ls -l ./MilesRoot
total 1376
drwxrwxrwx 3 nlaccept nlaccept 12288 sep 19 14:47 batch
drwxrwxrwx 3 nlaccept nlaccept 4096 sep 19 11:39 command
drwxrwxrwx 8 nlaccept nlaccept 4096 sep 4 12:16 milesweb
drwxrwxrwx 3 nlaccept nlaccept 4096 sep 4 12:16 policy
drwxr-xr-x 1 root root 4096 sep 19 14:57 report
--> chown -R --exclude report nlaccept:nlaccept ./MilesRoot
Malheureusement, l'option exclude (…)
Forum Programmation.shell passer de QT3 a QT4 sous mandriva
Bonjour. a tous.
je voudrais changer mon PATH pour pouvoir me servir de QT4 (qui par ailleurs est parfaitement installe)
mon PATH:
"usr/bin:bin:usr/local/bin.....usr/lib/qt3//bin ..."
et le remplacer par:
"usr/bin:bin:usr/local/bin.....usr/local/Trolltech/QT4 ..."
comment faire pour trouver tous les fichiers dans lesquelsil est ecrit par exemple
"export $PATH"
je sais qu'il faut utiliser find et grep mais un peu d"'aide serais la bienvenue.
Merci d'avance
je voudrais changer mon PATH pour pouvoir me servir de QT4 (qui par ailleurs est parfaitement installe)
mon PATH:
"usr/bin:bin:usr/local/bin.....usr/lib/qt3//bin ..."
et le remplacer par:
"usr/bin:bin:usr/local/bin.....usr/local/Trolltech/QT4 ..."
comment faire pour trouver tous les fichiers dans lesquelsil est ecrit par exemple
"export $PATH"
je sais qu'il faut utiliser find et grep mais un peu d"'aide serais la bienvenue.
Merci d'avance
Forum Programmation.shell document recapilutatif SED
bonjour,
connaissez vous un site internet ou une doc à télécharger récapitulant une somme d'exemple pour toutes les fonctions de sed (ou la plus grande partie ).
ça meviterai de perdre beaucoup de temp , le man ne donne pas d'exemple et info sed n'en donne que peut, pour trouver une info précise sur le net faut toujours chercher longtemps
par exemple au passage , comment inserer une ligne dans un fichier juste avant la première occurence d'un mot ?
(…)
connaissez vous un site internet ou une doc à télécharger récapitulant une somme d'exemple pour toutes les fonctions de sed (ou la plus grande partie ).
ça meviterai de perdre beaucoup de temp , le man ne donne pas d'exemple et info sed n'en donne que peut, pour trouver une info précise sur le net faut toujours chercher longtemps
par exemple au passage , comment inserer une ligne dans un fichier juste avant la première occurence d'un mot ?
(…)
Forum Programmation.shell truc bizarre avec un script
conjour ,
j'ai un petit souci :
lorsque le lance un sed dans le shell ça fonctionne
par contre lorque je fait dans le shell " sed -i -r -e '/^[ ]*#\|^$\|^\n*$/! s/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$/IF \U\1\E.\2/' mon_fichier " ben ça marche pas
c'est une commande qu devrait me transformer la chaine "if_lt r65.x, d55" en un chaine "IF LT.x"
exemple qui marche
j'ai un petit souci :
lorsque le lance un sed dans le shell ça fonctionne
par contre lorque je fait dans le shell " sed -i -r -e '/^[ ]*#\|^$\|^\n*$/! s/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$/IF \U\1\E.\2/' mon_fichier " ben ça marche pas
c'est une commande qu devrait me transformer la chaine "if_lt r65.x, d55" en un chaine "IF LT.x"
exemple qui marche
$ A='if_lt r4.x, c0.b\nif_gt r5.w, c0.b'
$ echo -e $A | sed -r -e '/^[ ]*#\|^$\|^\n*$/! s/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$/IF \U\1\E.\2/'
IF LT.x
(…)
Forum Programmation.shell galere sur un script
bonjour ,
j'utilise ceci dans un script :
ce bout de code doit parcourir le fichier , me compte le nombre de "c+un_chiffre" qu'il trouve , et si il en trouve plus que 0 il me le declare juste en dessous de la ligne qui contient (…)
j'utilise ceci dans un script :
for i in `seq 0 32`;
if [ "$(sed '/^[ ]*#\|#\|^$\|^\n*$/d' $file | grep c${i} | wc -l)" -gt "0" ]
then
j=$(($i+1))
sed -i -e '/\<hoplahop\>/a \temp c'${i}' = variable['$j']' $file
fi
done
ce bout de code doit parcourir le fichier , me compte le nombre de "c+un_chiffre" qu'il trouve , et si il en trouve plus que 0 il me le declare juste en dessous de la ligne qui contient (…)
Forum Programmation.shell petite erreur
Depuis pas mal d'années je me débrouille avec peu de connaissances en shell :)
mais j'ai décidé de pouvoir en coder plus qu'en bidouiller
j'ai une erreur avec ce script
#!/bin/bash
for file in *
if [ "$file" = "test" ]
then rm test
else
echo "ok"
fi
line 3: syntax error near unexpected token `if'
line 3: `if [ "$file" = "test" ]
Merci :)
mais j'ai décidé de pouvoir en coder plus qu'en bidouiller
j'ai une erreur avec ce script
#!/bin/bash
for file in *
if [ "$file" = "test" ]
then rm test
else
echo "ok"
fi
line 3: syntax error near unexpected token `if'
line 3: `if [ "$file" = "test" ]
Merci :)
Forum Programmation.shell [sed] substitution speciale
dans mon fichier j'ai des variables s0, s1, s2,.. , sn et je voudrait les substituer par variable[0]; variable[1]; variable[2]; variable[n];
comment faire svp
comment faire svp
Forum Programmation.shell aide sur un script
bonjour, je suis en train de faire un script shell et je suis debutant donc je galere pas mal ,j'ai deja posté des post car j'ai l'impression d'avoir du mal a chaque ligne , donc je vais vous mettre le script entier pour que vous puissez m'aider a avoir un script correct
[CODE]
#!/bin/bash
#################################
#################################
prefix="OGL_"
tmp0="_tmp0_"
tmp1="_tmp1_"
tmp2="_tmp2_"
tmp3="_tmp3_"
tmp4="_tmp4_"
tmp5="_tmp5_"
end="END"
for file in [^$prefix]* #ici ça ne fonctionne pas, le script s'exécute également sur les fichier (…)
[CODE]
#!/bin/bash
#################################
#################################
prefix="OGL_"
tmp0="_tmp0_"
tmp1="_tmp1_"
tmp2="_tmp2_"
tmp3="_tmp3_"
tmp4="_tmp4_"
tmp5="_tmp5_"
end="END"
for file in [^$prefix]* #ici ça ne fonctionne pas, le script s'exécute également sur les fichier (…)