Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/06/2011, à 16:12

falke

[RESOLU THANKS NESTHIB] Résolution d'un problème bash

bonjour,

voilà le problème que je voudrais résoudre :

dans un répertoire j'ai plein de fichiers toto.txt tata.txt tutu.txt contenant chacun un nombre

j'aimerais placer dans un fichier "contenu" les lignes

>cat contenu

toto.txt 20 (le nombre contenu dans le fichier toto...)
tata.txt 11
tutu.txt 5

>

j'essaie avec un find -name "*.txt" -exec echo >> contenu {} \;

mais là je n'obtiens dans le fichier contenu que les fichiers trouvés, or je voudrais afficher le nom de chaque fichier plus ce qu'il contient.


Comment je pourrais obtenir ça ?


Merci pour votre aide

falke

Dernière modification par falke (Le 27/06/2011, à 18:07)

Hors ligne

#2 Le 27/06/2011, à 16:22

Hizoka

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

si "nombre de ligne nom" te va :

wc -l *.txt >> contenu

sinon :

for i in *.txt
do
nb_ligne=$(wc -l "${i}")
echo "${i} : ${nb_ligne?? *}" >> contenu
done

KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 27/06/2011, à 16:22

helly

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

Bonjour.

 wc -l tata toto tutu > contenu

Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#4 Le 27/06/2011, à 16:42

helly

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

Tu t’es trompé de bouton avec le signalement. je recopie ton message :

ok ,

mais il faudrait en plus que chaque ligne du fichier contenu contienne :

le nom du fichier + ce qu'il contient

falke


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#5 Le 27/06/2011, à 17:14

nesthib

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

@Hizoka /helly : je ne pense pas qu'il parlait du nombre de lignes, mais juste d'un nombre contenu dans le fichier

@falke :
si tes fichiers comportent une seule et unique ligne :

grep .* *.txt >contenu

ou, si tu tiens absolument à l'espace :

grep .* *.txt | sed 's/:/ /' >contenu

si ce n'est pas ce que tu veux, je te conseille de mieux expliquer ta demande.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 27/06/2011, à 17:22

Hizoka

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

en effet, j'ai peut être mal compris...

si ce n'est pas ce que propose nesthib, donne un exemple de fichier...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 27/06/2011, à 17:27

falke

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

nesthib a écrit :

@Hizoka /helly : je ne pense pas qu'il parlait du nombre de lignes, mais juste d'un nombre contenu dans le fichier

@falke :
si tes fichiers comportent une seule et unique ligne :

grep .* *.txt >contenu

ou, si tu tiens absolument à l'espace :

grep .* *.txt | sed 's/:/ /' >contenu

si ce n'est pas ce que tu veux, je te conseille de mieux expliquer ta demande.


nickel c'est exactement ce que je voulais

tata.txt 20
toto.txt 10
tutu.txt 30

merci  !!!

Hors ligne

#8 Le 27/06/2011, à 17:40

nesthib

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

nickel, tu n'as plus qu'à modifier ton premier message et à ajouter [résolu] au début du titre. smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#9 Le 27/06/2011, à 17:48

Hizoka

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

bien vu nesthib wink


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#10 Le 28/06/2011, à 23:17

Watael

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

salut,

il vaut peut-être mieux ajouter l'option -H à grep : un jour, peut-être, il n'y aura qu'un seul fichier .txt, et sans cette option ça ne fonctionnerait plus sad

je trouve awk plus simple

awk '{print FILENAME,$0}' *.txt > contenu

et find plus lourd

find -type f -name "*.txt" -exec bash -c 'echo "${1##*/} $(<$1)"' _ {} \; >contenu

reste à régler la profondeur de la recherche.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 29/06/2011, à 00:30

nesthib

Re : [RESOLU THANKS NESTHIB] Résolution d'un problème bash

bien vu pour le H de grep et bien évidemment pour l'excellente solution avec awk (que l'on oublie trop souvent) smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne