Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Besoin d'aide pour un script

4 réponses
Avatar
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

4 réponses

Avatar
Ph. Ivaldi
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/
Avatar
Olivier V

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

Avatar
Ph. Ivaldi
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/

Avatar
Olivier V

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


C'est fait.

Olivier V