Script bash

Fermé
Nani - 19 mai 2018 à 01:39
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 3 juil. 2018 à 23:13
Bonjour,

je suis débutant dans linux qui peut m'expliquer ce code :

cat *.tex \
| sed ’/\\begin{figure}/,/\\end{figure}/d’ \
| sed ’/\\begin{table}/,/\\end{table}/d’ \
...
| sed ’/\\documentclass/d’ \
| sed ’/\\usepackage/d’ \
| sed ’/\\input/d’ \
| sed ’s/\\item//’ \
| sed ’s/%.*$//’\
| grep -v "^%" \
| tr "~" " " \
| tr "\t" "\n"\
| tr " " "\n"\
| grep -v ’\\’ \
| wc -w

3 réponses

Utilisateur anonyme
19 mai 2018 à 02:39
salut,

pas moi. c'est un trop mauvais code :
trop de
sed
, trop de
tr
, trop de
grep
,
alors qu'un seul
sed
bien construit aurait suffit.

en plus, c'est quand même à toi de faire le boulot.
propose une interprétation, et on te dira où tu as bon, où tu te trompes, et on approfondira les notions confuses.

forum d'entraide, pas forum "fais mes devoirs".
1
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
3 juil. 2018 à 23:13
'lut,
ça ressemble fort à un essai (bien foireux) d'extraire le contenu texte d'un document LaTeX pour en indiquer le nombre de mots.
Tous les
sed
se débarrassent des éléments de structure (commande
d
elete conditionnée par des expressions régulières), les
grep
et
tr
enlèvent les caractères d'espacement et les transforment en retour à la ligne, et finalement
wc -w
compte le nombre de mots.
1
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
19 mai 2018 à 21:08
Salut,

Pour te mettre sur une piste, il parse "une source" ( probablement du code ) et retourne une valeur ( decimal ) attentue selon certains paramétres.

A plus,
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
3 juil. 2018 à 21:52
il parse du latex
0