Besoin d'aide pour un script

Le
Olivier V
Bonjour,

J'ai des fichiers (latex pour info) sur lesquels je voudrais effectuer le
script ci-dessous.

Il s'agit de fichiers texte dont la structure est la suivante :
- Une entête de plusieurs lignes
- begin{document}
- corps du fichier
- end{document}

SI DANS le corps uniquement (c'est à dire entre begin{document} et
end{document})
le fichier contient au moins une fois la chaîne de caractère
begin{pspicture}
SANS compter les éventuelles occurences de %begin{pspicture}
ALORS écrire dans le fichier "contientpspicture" (qui n'existe pas encore)
la valeur "oui"
SINON écrire dans le fichier "contientpspicture" (qui n'existe pas encore)
la valeur "non"

Cela dépasse largement mes compétences en bash, alors si une bonne âme veut
bien y passer quelques minutes

Merci.

Olivier V
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ph. Ivaldi
Le #1889641
Bonjour,

Je te propose ce script pspict.sh:

8<------8<------8<------8<------8<------8<------8<------8<------8<------
#!/bin/sh

if cat $1 |
awk -v FS="^Z" "/\begin{document}/,/\end{document}/" |
grep -q "^ *\begin{pspicture}"; then
echo "oui" > contientpspicture
else
echo "non" > contientpspicture
fi
8<------8<------8<------8<------8<------8<------8<------8<------8<------

usage: pspict.sh ton_fichier.tex
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Olivier V
Le #1889633

Bonjour,

Je te propose ce script pspict.sh:

8<------8<------8<------8<------8<------8<------8<------8<------8<------
#!/bin/sh

if cat $1 |
awk -v FS="^Z" "/\begin{document}/,/\end{document}/" |
grep -q "^ *\begin{pspicture}"; then
echo "oui" > contientpspicture
else
echo "non" > contientpspicture
fi
8<------8<------8<------8<------8<------8<------8<------8<------8<------

usage: pspict.sh ton_fichier.tex


Merci beaucoup !

Olivier V

Ph. Ivaldi
Le #1889629
Le 22 avril 2007, Olivier V écrivit :

Merci beaucoup !


Avec plaisir.
J'ai quand même oublié des " autour de $1.
Il faut donc remplacer cat $1 par cat "$1".
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/

Olivier V
Le #1889624

J'ai quand même oublié des " autour de $1.
Il faut donc remplacer cat $1 par cat "$1".


C'est fait.

Olivier V

Publicité
Poster une réponse
Anonyme