Premier n° de ligne d'un fichier avec nb de colonnes en bash
CB8
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Nouveau membre de CCM, je vous soumets cette question qui concerne une programmation en bash linux.
Je cherche à identifier la première ligne d'un fichier ASCII dont le nombre de caractères dépasse une valeur donnée (par exemple 100). La raison est que je veux ignorer les premières lignes qui contiennent des informations qui constituent l'en-tête et ne me sont pas utiles, sachant que le nombre de lignes de l'entête est variable d'un fichier à l'autre.
Pour détecter la première ligne que je dois traiter, je sais seulement que son nombre de caractères est supérieur à celui des lignes de l'entête.
Une méthode triviale, mais peu élégante consiste à programmer une boucle du type:
Pourrait-on simplifier et compacter une telle opération avec une série de commandes bash en pipe?
Merci de votre aide :-)
Nouveau membre de CCM, je vous soumets cette question qui concerne une programmation en bash linux.
Je cherche à identifier la première ligne d'un fichier ASCII dont le nombre de caractères dépasse une valeur donnée (par exemple 100). La raison est que je veux ignorer les premières lignes qui contiennent des informations qui constituent l'en-tête et ne me sont pas utiles, sachant que le nombre de lignes de l'entête est variable d'un fichier à l'autre.
Pour détecter la première ligne que je dois traiter, je sais seulement que son nombre de caractères est supérieur à celui des lignes de l'entête.
Une méthode triviale, mais peu élégante consiste à programmer une boucle du type:
max_colonnes=100 num_ligne=0 while read ligne do num_ligne=$((num_ligne + 1)); if [ ${#ligne} -gt $max_colonnes ] then break fi done < $nom_fichier
Pourrait-on simplifier et compacter une telle opération avec une série de commandes bash en pipe?
Merci de votre aide :-)
A voir également:
- Premier n° de ligne d'un fichier avec nb de colonnes en bash
- Fichier bin - Guide
- Partage de photos en ligne - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
7 réponses
Salut, merci de ta réponse.
Je ne veux pas afficher les lignes de plus de 100 caractères, je cherche juste à connaître le n° de ligne de la première, sans l'afficher.
Je ne veux pas afficher les lignes de plus de 100 caractères, je cherche juste à connaître le n° de ligne de la première, sans l'afficher.
affiche le No de la première ligne de plus de 100 car. et termine
awk 'length()>100 {print NR; exit}' fichier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question