Comment valider un fichier pour les lignes non vides et les lignes sans commentaires dans makefile

user1215486

Je veux valider sample.x pour les lignes non vides et les lignes sans commentaires dans makefile, si la validation réussit, il devrait s'imprimer avec succès et sinon, il devrait quitter l'exécution.

J'essaye avec le code ci-dessous mais je n'arrive pas à réussir.

validate=$(sed "/^\s*$/d" ${TEX_FILENAME} | sed "/^ *%/d;s/%.*//" | wc -l)
if [ "${validate}" -gt 0 ];\
then\
  echo "    validate success";\
else\
  echo "    validate not successfull";\
  echo;\
  exit 2;\
fi
tripleee

Il y a un certain nombre de problèmes, de complications et de bugs ici.

Dans un Makefile, vous devez doubler tous les signes dollar que vous souhaitez transmettre au shell.

Vous sedne comprenez probablement pas le dialecte regex que vous essayez d'utiliser.

Avoir un script vous dire «échec» est un peu théorique lorsque le but makeest de vous dire quand quelque chose a échoué.

Compter si le nombre de correspondances est égal à zéro est un anti-modèle idiot. Vérifiez simplement s'il y a des correspondances. La plupart des outils regex se termineront avec un code de résultat différent de zéro lorsqu'ils ne parviendront pas à trouver une correspondance, ce qui est précisément ce qui makegarde un œil sur (bien que sedcela ne le fasse pas réellement; mais nous n'en avons pas vraiment besoin sedici).

validate: ${TEX_FILENAME}
    grep -q -v -e '^[[:space:]]*$$' -e '^[[:space:]]*%' $<

Si makecela ne s'arrête pas, le fichier était valide. Ajoutez peut-être un commentaire au-dessus de la grepcommande si vous avez peur d'oublier à quoi cela sert.

Si vous voulez utiliser Perl regex, voyez peut-être si votre système l'a grep -P(mais comprenez que ce n'est pas portable) ou réécrivez-le simplement en Perl.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Analyse du fichier, ignorant les commentaires et les lignes vides

Comment empêcher YQ de supprimer les commentaires et les lignes vides?

conserver les lignes vides dans un fichier texte tout en utilisant batch pour / f

Comment lire, filtrer et modifier les lignes d'un fichier

Comment puis-je conserver uniquement les lignes non répétées dans un fichier?

Python 3 ~ Comment prendre des lignes d'un fichier csv et les mettre dans une liste

Essayer de créer un programme simple (en C) qui copie toutes les lignes non vides d'un fichier texte donné dans un nouveau fichier texte

Comment supprimer les lignes vides d'un fichier texte à l'aide de PowerShell

Comment supprimer les lignes vides des "Frameworks, bibliothèques et contenu intégré" dans Xcode

comment compter les lignes avec des cellules vides dans datagridview

Comment insérer des lignes vides toutes les 3 lignes existantes dans un bloc de données?

Supprimer les lignes vides

Conserver les lignes de commentaires du fichier CSV dans les pandas?

Supprimer les lignes vides dans Google Sheets

Les lignes sont vides dans tableview swift

Concernant les lignes vides dans dataframe

Comment copier plusieurs lignes de texte dans le presse-papiers et les coller dans un autre formulaire non java

Enregistrer la chaîne dans un fichier sans convertir les nouvelles lignes à l'aide de Python

Empêcher les lignes vides dans les ejs pour les boucles

Comment lire un fichier ligne par ligne et ensuite sortir toutes les lignes composées de sth dans jq?

Comment utiliser VBA pour copier des lignes dans une feuille Excel et les envoyer dans un CSV?

Comment extraire un tas de lignes d'un fichier .txt et les ajouter à un autre?

Comment ignorer les commentaires dans un fichier texte avec LabVIEW?

nodejs convertit des objets dans json en lignes de chaînes et stocke les lignes dans un fichier texte

Utilisation de sed et awk pour modifier les lignes d'un fichier

Obtenir des lignes spécifiques dans un fichier texte et les transmettre à un tableau

Windows Batch: comment supprimer toutes les lignes vides (ou vides)

GREP pour un motif dynamique dans un fichier et imprimer les autres lignes ayant l'ancien motif et un autre motif

Comment obtenir des lignes sans sélection dans les pandas?

TOP Lista

CalienteEtiquetas

Archivo