Forum Programmation.shell Compter le nb d'occurence d'un caractere special dans un fichier

Posté par  .
Étiquettes : aucune
0
14
fév.
2006
Bonjour,

je souhaite compter le nb de fois où un caractere spécifique est present dans un fichier plat.

Le caractere est le code ascii '02' et se situe en fin de ligne normalement.
J'utilise donc la regexp /(.*)\002$/ pour mon comptage.

En perl, le script suivant marche et me donne le resultat attendu:
[code]
#!/usr/bin/perl -w

$i = 0;
open(FH, "Mon_Fichier_A_Lire") or die "plop";

while ()
{
if ($_ =~ /(.*)\002$/)
{
$i++;
}
# print $_;
}

close (FH);

(…)

Forum Programmation.shell Script de purge de log

Posté par  .
Étiquettes : aucune
0
8
nov.
2005
Bonjour,

j'envisage de réaliser un script me permettant de purger un répertoire contenant des logs de mes scripts.

Ces logs ont pour noms:
[nom_du_script].log
et sont archivés chaque jour sous:
[nom_du_script]_YYYYMMDD.log

Je souhaites soit garder les n derniers logs (cas pour les scripts qui ne tournent pas chaques jours), soit les logs des n derniers jours.

je suis parti sur la commande suivante pour trouver les n derniers logs archivés:
ls -r --sort=time [nom_du_script]_* | tail -n [nombre_a_conserver]

Mais après (…)

Forum Programmation.shell Crontab et sous-shell ?

Posté par  .
Étiquettes : aucune
0
12
oct.
2005
Bonjour,

est-il possible dans une ligne de crontab d'enchainer plusieurs commandes sachant que des variables initialisées dans les premieres commandes sont utilisées par les suivantes:

shell1
#/bin/sh
chaine=chemin/que/je/veux
export chaine

shell2
#/bin/sh
echo "Resultat: $chaine"

crontab
*/2 * * * * (shell1; shell2 >/tmp/verdict)
# le > correspond au sigle "superieur"

Le contenu du fichier verdict donne:
Resultat:

Et je devrais avoir (le resultat que je souhaite ;) ):
Resultat: chemin/que/je/veux

C'est un exemple simplifié, mais il decrit mon besoin.

(…)

Forum Programmation.shell Tar et repertoires vides

Posté par  .
Étiquettes : aucune
0
4
août
2005
Bonjour,

je ne trouve rien dans le man de tar pour archiver l'integralité d'une arborescence.

ex: cd / && tar cvf archive.tar base
avec l'arbo suivante:
/base/rep1/fic1
/base/rep2/
/base/rep3/fic3

/base/rep2/ n'est pas archivé (et pas recréé à la decompression...)

Existe-t-il une methode simple?

Merci

Forum Programmation.shell Execution background et code de sortie

Posté par  .
Étiquettes : aucune
0
30
juin
2005
Bonjour,

dans un script je fais tourner en parallèle plusieurs commandes.
Je reprend la main après un wait.

Ma question, comment savoir que l'ensemble (ou chacune) de mes commandes s'est bien déroulée?
$? ne me donne le statut de sortie que de la dernière.
Et quand j'essais de les mettre dans des accolades, le shell me dit que le ; n'est pas attendu...

Mon script actuel:


#!/bin/ksh
commande1 "$var1" SUPERIEUR fichier1 &
commande2 "$var2" SUPERIEUR fichier2 &
commande3 "$var3" SUPERIEUR (…)

Forum Programmation.shell Afficher un caractere Ascii a partir de son code décimal

Posté par  .
Étiquettes : aucune
0
8
juin
2005
Bonjour,

je cherche a afficher un caractere ascii a partir de son code ascii décimal en shell.

J'ai vu qu'on peut le faire a partir de l'octal ou du hexadecimal, mais est-ce possible "simplement" a partir du code decimal

ex:
code ascii 199, caractere Ç

comment faire un "echo ... 199" qui me renvoit le Ç ?

Merci d'avance.

PS: Je suis en shell ksh, le perl ou python, ou autre ne m'interresse pas, merci.

Forum Programmation.shell Correction formule avec sed

Posté par  .
Étiquettes : aucune
0
1
juin
2005
bonjour,

au sein d'une fonction, j'écris des lignes dans un fichier txt.
Cependant, le fichier a terme doit être traité sur une machine sous dos.
Donc je dois changer les terminaisons de ligne de LF vers CR+LF.

La sortie de ma fonction initialement était : (elle change les § en )
fonction()
{
....
echo "`echo "${Ligne}" | sed -e "s/§/\ /g"`"
}

qui me donne des terminaison de ligne en LF.

Sur le site de sed, j'ai vu dans (…)

Forum Programmation.shell Ecrire des espaces dans un fichier plat ?

Posté par  .
Étiquettes : aucune
0
19
mai
2005
Bonjour,

ma question est peut-etre totalement stupide, mais comme je viens de passer deja 2 jours a chercher...

Voila, je dois ecrire un fichier plat avec des lignes d'un certain nombre de caracteres a chaque fois.
Pour cela, je dois completer mes lignes avec des espaces.

Pour l'instant, je procede de la facon suivante:
Je genere mes lignes en concatenant dans une variable, puis je fais un echo $var vers mon_fichier_plat

Inconvenient, les espaces en fin de ligne ne sont (…)

Forum Programmation.shell Remplacer des lignes dans un fichier

Posté par  .
Étiquettes : aucune
0
11
avr.
2005
Bonjour,

j'ai mis en place un environnement chrooté pour mon serveur ssh pour certains utilisateurs.

Ces utilisateurs veulent pouvoir changer leur mot de passe.
Donc je leur ai donné la commande passwd, et une copie de /etc/shadow (avec uniquement leurs passwords dedans) se trouve dans l'environnement chrooté.

Maintenant, quand ils changent leur password, seul le fichier shadow dans l'env est impacté.
Et donc a leur prochaine connection, le mot de passe qui leur est demandé est toujours l'ancien (du fichier (…)

Forum Linux.debian/ubuntu [Networking] Passage de DHCP en Static, le dhcp se reactive ???

Posté par  .
Étiquettes :
0
3
avr.
2005
Bonjour,

ayant changé de routeur, j'ai perdu la possibilité d'affecter "statiquement" l'ip que j'attribuais à mon server.
(le routeur, via la detection de l'adresse MAC du server, lui attribuait toujours la même adresse ip).
C'etait simple pour moi, et le server était configuré en DHCP.

N'ayant plus cette possibilité, j'ai édité mon fichier /etc/network/interfaces et j'ai mis:

auto eth0
iface eth0 inet static
address 192.168.1.250
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1

dns_1 192.168.1.1
dns_2 212.27.39.135
dns_3 213.228.0.212

j'ai (…)

Forum Linux.debian/ubuntu [APT-GET] Forcer le repos par defaut d'un paquet

Posté par  .
Étiquettes :
0
21
mar.
2005
Bonjour,

je souhaite garder la version du serveur ssh avec patch chroot par defaut.
Pour installer cette version, j'ai utilisé les binaires de ce mirroir:

deb http://debian.home-dn.net/sarge(...) ssh/
deb-src http://debian.home-dn.net/sarge(...) ssh/
[15-03-2004]
- latest sarge ssh package with chroot patch from http://chrootssh.sourceforge.net/(...)

Le probleme que j'ai, est que si je fais un apt-get update && apt-get upgrade, apt met a jour la version de ssh automatiquement (logique!).
(la version chrooted est une 3.6, et on en est a la 3.9 (…)

Forum Linux.débutant [Bash] Detecter des fichiers de taille nulle

Posté par  .
Étiquettes :
0
25
fév.
2005
Bonjour,

j'ai un script qui déplace tous les fichiers d'un repA vers un repB.
Mon problème est que je ne veux pas déplacer les fichiers qui sont dans repA si leur taille est égale à zéro (en fait, j'aimerai pouvoir les supprimer ceux-la).

Donc actuellement, je fais:
#!/bin/bash
mv /repA/* /repB
exit 0


Je suppose qu'il faut que je fasse une boucle style "for each file" mais je ne sais pas du tout comment détecter la taille des fichiers.

Merci (…)