Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BASH] navigation dans un fichier text

10 mai 2011 à 16:42:56

Bonjour,

Pour mon petit programme, je dois donner l'emplacement d'un fichier, dans lequel aparaitrai le texte suivant "un petit chat". (Bien sur, c'est un exemple :p)

J'ai déjà éssayé de manipuler awk et sed, mais sans succes.

Pour faire simple, mon programme doit me lister les fichiers dans lesquelles se trouve ce texte.

Avez-vous des idées, ou des pistes sur lequelles m'aiguillées ?

Je vous avoues que je suis un peu perdu,

Merci beaucoup !

Manyak.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
10 mai 2011 à 23:21:20

Salut,
ta essayer la fonction grep?

tous d'abord tu ecri un script perl qui te liste tes fichiers present dans un dossier, puis tu ajoute le nom des fichiers dans une liste que tu lis grace a une ptite boucle et dans ta boucle tu insert ceci:
grep "un petit chat" fichier_a_lire.txt

un ptit pipe pour recuperer les valeurs et si la valeurs recuperer conresponde a ce que tu recherche tu a donc le nom de ton fichier qui contient ta regex

Je n'est pas test mais sa doit sans doute ce faire

Cordialement
  • Partager sur Facebook
  • Partager sur Twitter
11 mai 2011 à 1:48:23

Bonsoir,

Il me semblait que grep n'était que pour windows ? Je ne sais plus ou j'ai lu ca, c'était peut être une bétise.

Dans tout les cas, je ne dois pas écrire en langage 'perl', mais en bash.

Je te remercie tout de même de ta contribution,

Manyak.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
11 mai 2011 à 9:14:57

grep marche sous linux assuré a 400%, je l'utilise presque tous les jours
  • Partager sur Facebook
  • Partager sur Twitter
11 mai 2011 à 18:59:20

Salut

Citation : oglocc

tous d'abord tu ecri un script perl qui te liste tes fichiers present dans un dossier, puis tu ajoute le nom des fichiers dans une liste que tu lis grace a une ptite boucle et dans ta boucle tu insert ceci:
Code : Console - Sélectionner

grep "un petit chat" fichier_a_lire.txt


un ptit pipe pour recuperer les valeurs et si la valeurs recuperer conresponde a ce que tu recherche tu a donc le nom de ton fichier qui contient ta regex



Pourquoi compliquer les choses alors que grep avec bonnes options résout le probleme (il me semble)

grep -l texte_a_trouver *


A plus


  • Partager sur Facebook
  • Partager sur Twitter
12 mai 2011 à 10:19:53

c'est le shell qui remplace l'etoile par la liste de fichier...
donc si bon vieux shell... a marche pas...

Mais si la version de grep le permet -R . liste recursivement les dossier...

Biensur il y a toujours 1000 facon differente de faire la meme chose...

--color est ton ami :-)
  • Partager sur Facebook
  • Partager sur Twitter
8 septembre 2021 à 1:52:15 - Message modéré pour le motif suivant : Message complètement hors sujet


8 septembre 2021 à 10:16:08

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter