Parcour fichier et arret a la 1ere occurence
Résolu/Fermé
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
-
27 mars 2008 à 18:23
evita8 Messages postés 32 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 26 mai 2008 - 31 mars 2008 à 19:57
evita8 Messages postés 32 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 26 mai 2008 - 31 mars 2008 à 19:57
A voir également:
- Parcour fichier et arret a la 1ere occurence
- Fichier rar - Guide
- Fichier host - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
- Ouvrir fichier .bin - Guide
4 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
27 mars 2008 à 18:56
27 mars 2008 à 18:56
Salut,
#! /bin/bash grep -m 1 "^<xsd:element" $1 if [ $? = 1 ]; then echo "Pas trouvé" fi;-))
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
31 mars 2008 à 17:40
31 mars 2008 à 17:40
Hello !
La ligne de commande que tu m'as donné la dernière fois (recherche de la premiere occurence d'un motif dans un fichier : grep -m 1 " ^<xsd:element" $1) fonctionne trés bien chez moi mais sur l'odinateur de l'ecole je lis une erreure :
grep: option invalide -- m
Aurai tu une autre solution a mon problème ?
Merci !
La ligne de commande que tu m'as donné la dernière fois (recherche de la premiere occurence d'un motif dans un fichier : grep -m 1 " ^<xsd:element" $1) fonctionne trés bien chez moi mais sur l'odinateur de l'ecole je lis une erreure :
grep: option invalide -- m
Aurai tu une autre solution a mon problème ?
Merci !
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
31 mars 2008 à 17:48
31 mars 2008 à 17:48
Re-
Ben déjà regarde le "man grep" pour voir les options disponibles (ou grep --help) et la version (grep --version).
Sinon essaye avec :
Ben déjà regarde le "man grep" pour voir les options disponibles (ou grep --help) et la version (grep --version).
Sinon essaye avec :
sed -n '/^<xsd:element/{p;q}' fichier;-))
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
31 mars 2008 à 18:38
31 mars 2008 à 18:38
Je n'arrive pas à recuperer ma ligne... Je ne vois pas du tout le problème !
pourtant la fonction "-n" existe sur cette version de unix (j'ai verifié dans le man)
ligne=$(sed -n '/<xsd:element/{p;q}' data/$2)
Le message d'erreur qu'il me renvoie :
sed: -e expression #1, char 19: Extra characters after command
pourtant la fonction "-n" existe sur cette version de unix (j'ai verifié dans le man)
ligne=$(sed -n '/<xsd:element/{p;q}' data/$2)
Le message d'erreur qu'il me renvoie :
sed: -e expression #1, char 19: Extra characters after command
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
31 mars 2008 à 18:49
31 mars 2008 à 18:49
Et directement depuis le shell, ça marche ou pas ?
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
31 mars 2008 à 18:58
31 mars 2008 à 18:58
Directement depuis le shell, je rentre
sed -n '/<xsd:element/{p;q}' data/fichier.xsd
Il me met la meme erreur
sed -n '/<xsd:element/{p;q}' data/fichier.xsd
Il me met la meme erreur
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
31 mars 2008 à 19:06
31 mars 2008 à 19:06
Commence par enlever le "q" à la fin (et les accolades) et vois si ça marche comme ça.
Si ça marche, essaie :
Si ça marche, essaie :
sed -n '0,/<xsd:element/{/<xsd:element/p}' data/fichier.xsd;-)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
31 mars 2008 à 19:14
31 mars 2008 à 19:14
Commence par enlever le "q" à la fin et vois si ça marche comme ça.
Si ça marche, essaie :
Si ça marche, essaie :
sed -n '0,/<xsd:element/{/<xsd:element/p}' data/fichier.xsd;-)
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
31 mars 2008 à 19:45
31 mars 2008 à 19:45
<xsd:element name="Bibliotheque" type="Bibliotheque"/>
De cette ligne, je voudrai recuperer le nom Bibliotheque
Ma ligne (qui marchait chez moi mais ne fonctionne plus a l'ecole...) :
RACINE=$(cut -f2 -d '"' <<< $ligne) ne fonctionne plus
Il me renvoie :
tp4.sh: command substitution: line 1: syntax error near unexpected token `<<<'
tp4.sh: command substitution: line 1: `cut -f2 -d '"' <<< $ligne'
J'ai aussi essayé :
$ligne | cut -f2 -d '"'
Mais ça ne marche pas non plus
need help!
De cette ligne, je voudrai recuperer le nom Bibliotheque
Ma ligne (qui marchait chez moi mais ne fonctionne plus a l'ecole...) :
RACINE=$(cut -f2 -d '"' <<< $ligne) ne fonctionne plus
Il me renvoie :
tp4.sh: command substitution: line 1: syntax error near unexpected token `<<<'
tp4.sh: command substitution: line 1: `cut -f2 -d '"' <<< $ligne'
J'ai aussi essayé :
$ligne | cut -f2 -d '"'
Mais ça ne marche pas non plus
need help!
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
>
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
31 mars 2008 à 19:50
31 mars 2008 à 19:50
echo $ligne | cut -f2 -d '"';-))
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
31 mars 2008 à 19:57
31 mars 2008 à 19:57
Thanks a lot !
Ce sont des questions basiques mais là je panique a cause de tte ces erreures !
Ce sont des questions basiques mais là je panique a cause de tte ces erreures !
evita8
Messages postés
32
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
26 mai 2008
31 mars 2008 à 19:27
31 mars 2008 à 19:27
C'est bon, en enlevant "q" et les accollades la ligne fonctionne !! Merci beaucoup jipicy !!
J'ai encore enormément d'erreurs dans mon script... Je ne savais pas qu'il y avait autant de pb de portabilité sous unix
J'ai encore enormément d'erreurs dans mon script... Je ne savais pas qu'il y avait autant de pb de portabilité sous unix
27 mars 2008 à 20:22
J'ai mis la ligne trouvée dans la variable $ligne
Pour réccupérer le "Blabla", j'ai rajouté :
var=$(cut -f2 -d '"' <<< $ligne)
echo $var me donne :
var=Blabla
Merci !