A la búsqueda del comando perdido "more+nombre"

mTh

Hola buenas,

Pregunta simple y rápida... modificando el código de un paquete de sofware me he encontrado con un clásico "Y si pudiese hacer esto que de tiempo me ahorraría...." y se me ha ocurrido que a lo mejor alguno de vosotros sabe la respuesta.

Buscando un cierto tipo de linea entre la maraña de archivos .cxx, me dispongo a usar el típico " more *.cxx |grep patron_de_busqueda".... y claro, eso me encuentra las lineas adecuadas, pero sin embargo, no te dice en que archivo se encuentra. Esto es tremendamente incómodo por supuesto....

Podría solucionarlo con un pequeño script que busque y printee el nombre del arhivo cuando encuentre algo pero a lo mejor existe algo más sencillo que desconozco (Altamente probable).

Así que eso.... busco un comando que me permita buscar una linea de código en un cuatrillon de arhivos y que me diga en que archivos se encuentra :).

Gracias!

ElRuso

No tengo *nix a mano, pero mirando por <B>man</B> grep en internet no tienes que usar more.

grep [options] PATTERN [FILE...]

tambien mirando por el man page se ve esta llave:

-H, --with-filename
Print the filename for each match.

Resumiendo: RTFM :)

mTh

#2

Claro leches... y yo usando more como tonto para sacar las cosas.... si es que hay veces que no se que tengo en la cabeza xD.

P.D: El RTFM te lo podías haber ahorrao, aunque me lo merezca y vaya con :).

Get

grep es tu amigo, como encontrar algo en un paquete

root@Darkness:/home/get# grep pkgtool /var/log/packages/* |more
/var/log/packages/dialog-1.1_20080819-i486-2:dialog: package management script "pkgtool" uses this, as do various other
/var/log/packages/pkgtools-12.34567890-noarch-6:PACKAGE NAME:     pkgtools-12.34567890-noarch-6
/var/log/packages/pkgtools-12.34567890-noarch-6:PACKAGE LOCATION: /var/log/mount/slackware/a/pkgtools-12.34567890-noarch-6.tgz
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: pkgtools (The Slackware package maintenance system)
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools:
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: This package contains utilities for handling Slackware packages.
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: Included are the command line utilities 'installpkg', 'removepkg',
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: 'makepkg', 'explodepkg', and 'upgradepkg' that install, remove,
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: build, examine, and upgrade software packages.  Also included are 
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: 'pkgtool', a menu based program for installing packages, removing
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: packages, or viewing the packages that are installed on the system,
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools: documentation (man pages), and a few other system admin scripts.
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools:
/var/log/packages/pkgtools-12.34567890-noarch-6:pkgtools:
/var/log/packages/pkgtools-12.34567890-noarch-6:usr/man/man8/pkgtool.8.gz
/var/log/packages/pkgtools-12.34567890-noarch-6:sbin/pkgtool
/var/log/packages/rpm2tgz-1.0-i486-1:rpm2tgz: "removepkg", "pkgtool", or manually with "tar").
/var/log/packages/slackpkg-2.71.2-noarch-1:slackpkg: Slackpkg DOESN'T replace pkgtool. Actually, Slackpkg uses pkgtool
/var/log/packages/zsh-4.3.6-i486-1:usr/share/zsh/4.3.6/functions/_pkgtool
root@Darkness:/home/get# 

Usuarios habituales

  • Get
  • mTh
  • ElRuso