créer un site


urgent script shell

Poster un nouveau sujet sur shell   Répondre au sujet à shell:urgent script shell    Accueil Forum -> shell
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
dcharles
frontpage mioche
frontpage mioche
Messageurgent script shell , Posté le: 05-08-2003 16:32

Bonjour,
J'ai ecrit ce petit script et il me pose un prb :
#!/bin/bash
cat < /etc/squid/auth | while true
do
read ligne
if [ "$ligne" == "" ]
then
break
fi
set -- $ligne
let i=i+1
done
echo $i

Je ne sais pas ce qu'il faut faire pour pourvoir utiliser la variable i aprés le passage de la boucle while. Le prb vient du fait que j'utilise un pipe qui déclenche un sous-shell donc la variable i n'est pas connu pas le shell père et je ne sais pas comment résoudre ce prb
Est ce qu'il existe un autre moyen de lire les lignes d'un fichier sans utiliser cat, more ou less
Merci
salemioche
salemioche
salemioche
Messageurgent script shell , Posté le: 06-08-2003 19:19

while read line; do echo $line; done < auth


c'est mieux non ?
dcharles
frontpage mioche
frontpage mioche
Messageurgent script shell , Posté le: 07-08-2003 8:01

Merci pour la solution et à bientôt
ldiaz
frontpage mioche
frontpage mioche
Messageet pour lire des fichiers... , Posté le: 09-07-2005 10:14

Salut à tous,

j'ai un PB équivalent. Je cherche a remplacer des " par des ' dans un fichier PL/SQL

pour un fichier individuel je fais :

cat monFichier.sql | sed -e 's/"/'/' >nouveauFichier.sql

Ca marche bien, le problème c'est que j'ai 90 fichiers identiques a modifier.
Je pensais faire un script shell du genre

while read
mais je ne connais pas la syntaxe.

Je voudrais, dans le bon repertoire, faire une boucle qui fait le sed pour chaque fichier sql.

qq 'un à une idée ??
D'avance merci

Luis
salemioche
salemioche
salemioche
Messageurgent script shell , Posté le: 09-07-2005 10:48

Code:

mkdir new
for f in $(\ls *.sql); do
cat $f | sed -e 's/"/'/' > new/$f
done


comme ca tu as tous les nouveaux fichiers dans le repertoire new
ldiaz
frontpage mioche
frontpage mioche
Messageboucle , Posté le: 09-07-2005 18:18

Salut à tous,

super ça marche...
Merci encore

Luis
ldiaz
frontpage mioche
frontpage mioche
Messageoups , Posté le: 10-07-2005 8:36

ça marche a un détail pret...

le sed a du mal avec les " et les '
comment faut il faire pour lui dire que ' c'est une chaine de caractère et non la quote de fin...
?

Merci de votre aide

Luis
salemioche
salemioche
salemioche
Messageurgent script shell , Posté le: 10-07-2005 9:05

il faut mettre un \ devant

Code:
\'
ldiaz
frontpage mioche
frontpage mioche
Message' et " , Posté le: 10-07-2005 11:56

Salut,

alors voila la ligne de code :

cat $f | sed -e 's/"/\'/' > $f

et voici l'erreur :

syntax error at line 4 : `'' unmatched

Qu'en pensez-vous ??
ldiaz
frontpage mioche
frontpage mioche
Message' et " FIN , Posté le: 10-07-2005 12:40

Salut,

j'ai résolu le PB en inversant. Au lieu de faire
sed -e 's.... avec \'

je fais sed -e "s.... avec \"

et la ça marche
Merci

A+
Luis
Montrer les messages depuis:   
Poster un nouveau sujet sur shell   Répondre au sujet à shell:urgent script shell    Accueil Forum -> shell Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
S'enregistrerS'enregistrer
ProfilProfil
Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés
RechercherRechercher
Liste des MembresMembres
FAQFAQ
ConnexionConnexion 


© Mentions Légales