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/10/2014, à 22:53

couim

[résolu] compter ligne fichier en recursif

Bonjour à tous

j'aimerai compter le nombre de ligne d'un code source (lxde) en utilisant   

wc -l *.c

mais comme il ya plusieurs dossier je voudrai le faire
de manière récursif. avez vous une idée ? utiliser un pipe avec du grep et du find par exemple ?

merci d'avance ! smile

Dernière modification par couim (Le 28/10/2014, à 00:56)


convertir et inciter les gens à utiliser Linux :)

Etudiant informatique première année
Ada, java, c, c++

Hors ligne

#2 Le 28/10/2014, à 00:55

couim

Re : [résolu] compter ligne fichier en recursif

j'ai finalement trouvé avec ceci

loft-2014@loft2014:~/Téléchargements/libfm-1.2.3/src$ find . -type f | grep ".c" | xargs wc -l
    908 ./gtk/fm-file-menu.c
    116 ./gtk/fm-dnd-src.h
    351 ./gtk/exo/exo-marshal.c
    980 ./gtk/exo/exo-tree-view.c
  11256 ./gtk/exo/exo-icon-view.c
    340 ./gtk/exo/exo-icon-view.h
    150 ./gtk/exo/exo-private.c
    138 ./gtk/exo/exo-string.c
    341 ./gtk/fm-clipboard.c
    363 ./gtk/fm-cell-renderer-pixbuf.c
    704 ./gtk/fm-side-pane.c
   1983 ./gtk/fm-standard-view.c
     75 ./gtk/fm-app-chooser-combo-box.h
   1586 ./gtk/fm-file-properties.c
    365 ./gtk/fm-dnd-src.c
     39 ./gtk/fm-app-chooser-dlg.h
    499 ./gtk/fm-menu-tool-item.c
     45 ./gtk/fm-clipboard.h
     81 ./gtk/fm-places-view.h
     64 ./gtk/fm-cell-renderer-text.h
     37 ./gtk/fm-dnd-auto-scroll.h
   1332 ./gtk/fm-places-view.c
     68 ./gtk/fm-file-search-ui.c
     49 ./gtk/fm-gtk-file-launcher.h
   1592 ./gtk/fm-places-model.c
    237 ./gtk/fm-tab-label.c
   1097 ./gtk/fm-dnd-dest.c
    231 ./gtk/fm-dnd-auto-scroll.c
     72 ./gtk/fm-cell-renderer-pixbuf.h
   1071 ./gtk/fm-gtk-file-launcher.c
   1277 ./gtk/fm-gtk-utils.c
    124 ./gtk/fm-places-model.h
   2254 ./gtk/fm-folder-model.c
    344 ./gtk/fm-path-bar.c
    379 ./gtk/fm-app-menu-view.c
    430 ./gtk/fm-cell-renderer-text.c
    698 ./gtk/fm-dir-tree-view.c
   1334 ./gtk/fm-dir-tree-model.c
   1987 ./gtk/fm-folder-view.c
    527 ./gtk/fm-app-chooser-dlg.c
    168 ./gtk/fm-icon-pixbuf.c
    788 ./gtk/fm-progress-dlg.c
    963 ./gtk/fm-path-entry.c
     39 ./gtk/fm-icon-pixbuf.h
    176 ./gtk/fm-gtk-marshal.c
    283 ./gtk/fm-app-chooser-combo-box.c
    237 ./gtk/fm-thumbnail.c
    176 ./fm.c
     22 ./gtk-compat.c
    443 ./base/fm-nav-history.c
    480 ./base/fm-file-launcher.c
     76 ./base/fm-archiver.h
    541 ./base/fm-config.c
    511 ./base/fm-folder-config.c
    609 ./base/fm-utils.c
   1676 ./base/fm-path.c
    346 ./base/fm-terminal.c
    543 ./base/fm-module.c
   1189 ./base/fm-thumbnail-loader.c
   1851 ./base/fm-file-info.c
     68 ./base/fm-folder-config.h
     82 ./base/fm-icon.h
     85 ./base/fm-dummy-monitor.c
    251 ./base/fm-config.h
     77 ./base/fm-file-launcher.h
    484 ./base/fm-mime-type.c
     87 ./base/fm-list.c
   1628 ./base/fm-folder.c
    206 ./base/fm-file.c
    450 ./base/fm-thumbnailer.c
    312 ./base/fm-archiver.c
   1108 ./base/fm-templates.c
    500 ./base/fm-app-info.c
    444 ./base/fm-bookmarks.c
    217 ./base/fm-marshal.c
    281 ./base/fm-icon.c
    202 ./base/fm-monitor.c
    117 ./tools/libfm-pref-apps.c
    210 ./tools/lxshortcut.c
     94 ./glib-compat.h
     51 ./gio/module.c
    116 ./gio/fm-app-lookup.c
   1519 ./extra/fm-xml-file.c
    258 ./actions/fm-actions.h
    315 ./actions/utils.c
     81 ./actions/utils.vala
    244 ./actions/parameters.vala
    151 ./actions/profile.vala
    438 ./actions/action.vala
    556 ./actions/condition.vala
   1657 ./actions/condition.c
   1113 ./actions/parameters.c
    504 ./actions/profile.c
    839 ./actions/Makefile.in
     53 ./actions/Makefile.am
   2176 ./actions/action.c
      1 ./actions/libfmactions_la_vala.stamp
     94 ./fm-gtk.c
    109 ./gtk-compat.h
    164 ./tests/libfm-file-search-cli-demo.c
    460 ./tests/test-fm-path.c
    474 ./udisks/g-udisks-drive.c
    596 ./udisks/g-udisks-volume-monitor.c
    365 ./udisks/g-udisks-mount.c
    413 ./udisks/g-udisks-volume.c
   1147 ./udisks/udisks-device.h
     49 ./udisks/dbus-utils.c
    118 ./udisks/g-udisks-device.h
    313 ./udisks/g-udisks-device.c
     47 ./udisks/fm-udisks.c
   1003 ./demo/main-win.c
     57 ./demo/libfm-demo.c
    179 ./demo/main-win-ui.c
    660 ./job/fm-dir-list-job.c
    124 ./job/fm-simple-job.c
    106 ./job/fm-deep-count-job.h
    371 ./job/fm-deep-count-job.c
    534 ./job/fm-file-ops-job-delete.c
    893 ./job/fm-file-ops-job-xfer.c
     38 ./job/fm-file-ops-job-change-attr.h
    931 ./job/fm-file-ops-job.c
    344 ./job/fm-file-info-job.c
    337 ./job/fm-file-ops-job-change-attr.c
    834 ./job/fm-job.c
     35 ./glib-compat.c
    191 ./modules/gtk-menu-actions.c
    446 ./modules/gtk-fileprop-x-desktop.c
    128 ./modules/gtk-menu-trash.c
   3142 ./modules/vfs-menu.c
    216 ./modules/gtk-fileprop-x-shortcut.c
   1342 ./modules/vfs-search.c
  79876 total

convertir et inciter les gens à utiliser Linux :)

Etudiant informatique première année
Ada, java, c, c++

Hors ligne

#3 Le 28/10/2014, à 06:52

pingouinux

Re : [résolu] compter ligne fichier en recursif

Bonjour,

couim a écrit :
find . -type f | grep ".c" | xargs wc -l

grep ".c" va récupérer tous les fichiers dont le nom contient un c précédé d'un caractère quelconque.
Pour obtenir ceux se terminant par .c, c'est grep "\.c$",
et ceux se terminant par .c ou .h : grep "\.[ch]$"

Tu as une autre méthode

shopt -s globstar
wc -l **/*.[ch]

Hors ligne

#4 Le 28/10/2014, à 06:55

tiramiseb

Re : [résolu] compter ligne fichier en recursif

Salut,

Tu as aussi :

find . -name '*.c' | xargs wc -l

Hors ligne

#5 Le 28/10/2014, à 10:20

nesthib

Re : [résolu] compter ligne fichier en recursif

une alternative sans xargs :

find . -name '*.c' -exec wc -l {} \+

(la version avec xargs est à préférer s'il y a beaucoup de fichiers)


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 28/10/2014, à 11:40

couim

Re : [résolu] compter ligne fichier en recursif

ah oui effectivement , merci pour les messages

Et dans le

 [ch]$

le $ il sert à quoi concrètement ?


convertir et inciter les gens à utiliser Linux :)

Etudiant informatique première année
Ada, java, c, c++

Hors ligne

#7 Le 28/10/2014, à 11:45

pingouinux

Re : [résolu] compter ligne fichier en recursif

le $ il sert à quoi concrètement ?

C'est pour indiquer une fin de ligne.

Hors ligne

#8 Le 28/10/2014, à 11:59

couim

Re : [résolu] compter ligne fichier en recursif

ah d'accord, en gros c'est pour préciser que c'est uniquement la fin d'un nom de document


convertir et inciter les gens à utiliser Linux :)

Etudiant informatique première année
Ada, java, c, c++

Hors ligne