InglésFrancésEspañol

icono de página de OnWorks

ack-grepp: en línea en la nube

Ejecute ack-grepp en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando ack-grepp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ack - buscador de texto tipo grep

SINOPSIS


ack [opciones] PATRÓN [ARCHIVO ...]
ack -f [opciones] [DIRECTORIO ...]

DESCRIPCIÓN


Ack está diseñado como una alternativa a grep para programadores.

Ack busca los ARCHIVOS de entrada con nombre (o la entrada estándar si no se nombran archivos, o el archivo
name - se proporciona) para las líneas que contienen una coincidencia con el PATRÓN dado. Por defecto, ack
imprime las líneas coincidentes.

PATTERN es una expresión regular de Perl. Las expresiones regulares de Perl se encuentran comúnmente en
otros lenguajes de programación, pero para conocer los detalles de su comportamiento, consulte
<http://perldoc.perl.org/perlreref.html| perlreref>. Si no sabe cómo usar regular
expresión pero está interesado en aprender, puede consultar
<http://perldoc.perl.org/perlretut.html| perlretut>. Si no necesita o no quiere que ack use
expresiones regulares, consulte la opción "-Q" / "- literal".

Ack también puede enumerar los archivos que se buscarían, sin buscarlos realmente, para permitir
aprovecha las capacidades de filtrado de tipo de archivo de ack.

ARCHIVO SELECCIÓN


Si los archivos no se especifican para la búsqueda, ya sea en la línea de comando o canalizados con el
opción "-x", acuse de recibo profundiza en subdirectorios seleccionando archivos para su búsqueda.

acuse de recibo es inteligente sobre los archivos que busca. Conoce ciertos tipos de archivos, basados
tanto en la extensión del archivo como, en algunos casos, en el contenido del archivo. Estas
las selecciones se pueden hacer con el --escribe .

Sin selección de archivos, acuse de recibo busca en archivos regulares que no son explícitamente
excluido por --ignorar-dir y --ignorar-archivo opciones, ya sea presente en ackrc archivos o en
la línea de comando.

Las opciones predeterminadas para acuse de recibo ignore ciertos archivos y directorios. Éstos incluyen:

· Archivos de respaldo: archivos coincidentes # * # o terminando con ~.

· Coredumps: coincidencia de archivos core. \ d +

· Directorios de control de versiones como .svn y .git.

Ejecutar acuse de recibo con la opción "--dump" para ver qué configuraciones están establecidas.

Sin embargo, acuse de recibo busca siempre los archivos dados en la línea de comando, sin importar el tipo. Si
tu dices acuse de recibo para buscar en un coredump, buscará en un coredump.

De miembros SELECCIÓN


acuse de recibo desciende a través del árbol de directorios de los directorios iniciales especificados. Si no
se especifican directorios, se utiliza el directorio de trabajo actual. Sin embargo, ignorará
los directorios de sombra utilizados por muchos sistemas de control de versiones y los directorios de compilación
utilizado por el sistema Perl MakeMaker. Puede agregar o eliminar un directorio de esta lista con
de la forma más - [no] ignorar-dir opción. La opción puede repetirse para agregar / eliminar varios directorios.
de la lista de ignorados.

Para obtener una lista completa de los directorios que no se buscan, ejecute "ack --dump".

CUANDO A USO GREP


acuse de recibo Triunfos grep como una herramienta diaria el 99% del tiempo, pero no arrojes grep lejos, porque
hay ocasiones en que todavía lo necesitará.

Por ejemplo, buscar en archivos enormes en busca de expresiones regulares que se puedan expresar con grep
la sintaxis debería ser más rápida con grep.

Si su secuencia de comandos o programa principal utiliza grep "--quiet" o "--silent" o necesita salida 2 en IO
error, uso grep.

OPCIONES


--ackrc
Especifica un archivo ackrc para cargar después de todos los demás; consulte "SEMÁNTICA DE UBICACIÓN ACKRC".

-A NUM, --after-context =NUM
Imprimir NUM líneas de contexto final después de las líneas coincidentes.

-B NUM, --before-context =NUM
Imprimir NUM líneas de contexto inicial antes de las líneas coincidentes.

--[sin descanso
Imprima una pausa entre los resultados de diferentes archivos. Encendido de forma predeterminada cuando se usa
interactivamente.

-C [NUM], --context [=NUM]
Imprimir NUM líneas (por defecto 2) de contexto alrededor de líneas coincidentes.

-c, --contar
Suprime la salida normal; en su lugar, imprima un recuento de líneas coincidentes para cada archivo de entrada.
If -l está en efecto, solo mostrará el número de líneas para cada archivo que tenga líneas
pareo. Sin -l, algunos recuentos de líneas pueden ser ceros.

Si se combina con -h (--no-nombre de archivo) ack genera solo un recuento total.

--[sin color, - [no] color
--color resalta el texto coincidente. --sin color suprime el color. Esto es por
predeterminado a menos que se redirija la salida.

En Windows, esta opción está desactivada de forma predeterminada a menos que el módulo Win32 :: Console :: ANSI esté
instalado o se utiliza la variable de entorno "ACK_PAGER_COLOR".

--color-filename =Color
Establece el color que se utilizará para los nombres de archivo.

--color-match =Color
Establece el color que se utilizará para las coincidencias.

--color-lineno =Color
Establece el color que se utilizará para los números de línea.

- columna [no]
Muestre el número de columna de la primera coincidencia. Esto es útil para los editores que pueden colocar
su cursor en una posición determinada.

--crear-ackrc
Vuelca las opciones de reconocimiento predeterminadas a la salida estándar. Esto es útil para cuando desee
personalizar los valores predeterminados.

--vertedero
Escribe la lista de opciones cargadas y de dónde provienen en la salida estándar. Práctico
para depurar.

- [no] env
--noenv deshabilita todo el procesamiento del entorno. No .ackrc se lee y todo el entorno
las variables se ignoran. Por defecto, acuse de recibo considera .ackrc y configuraciones en el
ambiente.

--enjuagar
--enjuagar enjuaga la salida inmediatamente. Esto está desactivado de forma predeterminada a menos que se esté ejecutando ack
de forma interactiva (cuando la salida va a una tubería o archivo).

-f Imprima solo los archivos que se buscarán, sin realizar ninguna búsqueda.
PATTERN no debe especificarse o se tomará como una ruta de búsqueda.

--files-from =ARCHIVO
La lista de archivos a buscar se especifica en ARCHIVO. La lista de archivos son
separados por nuevas líneas. Si ARCHIVO es "-", la lista se carga desde la entrada estándar.

--[sin filtro
Obliga a ack a actuar como si estuviera recibiendo información a través de una tubería.

--[no seguir
Siga o no siga los enlaces simbólicos, que no sean los archivos o directorios iniciales
se especificaron en la línea de comando.

Esto está desactivada por defecto.

-g PATRÓN
Imprima archivos donde coincida la ruta relativa + nombre de archivo PATRÓN. Esta opción puede ser
combinado con --color para que sea más fácil detectar el fósforo.

- [no] grupo
--grupo agrupa coincidencias por nombre de archivo. Este es el valor predeterminado cuando se usa de forma interactiva.

--nogrupo imprime un resultado por línea, como grep. Este es el valor predeterminado cuando la salida es
redirigido.

-H, --con-nombre de archivo
Imprime el nombre de archivo para cada coincidencia. Este es el valor predeterminado a menos que busque un solo
archivo especificado explícitamente.

-h, --no-nombre de archivo
Suprima el prefijo de nombres de archivo en la salida cuando se buscan varios archivos.

- [no] título
Imprima un encabezado de nombre de archivo encima de los resultados de cada archivo. Este es el valor predeterminado cuando se usa
interactivamente.

--ayuda, -?
Imprima una breve declaración de ayuda.

--tipos de ayuda, --help = tipos
Imprima todos los tipos conocidos.

-i, --ignorar caso
Ignorar las distinciones de mayúsculas y minúsculas en PATTERN

--ignore-ack-valores predeterminados
Le dice a ack que ignore por completo las definiciones predeterminadas proporcionadas con ack. Este es
útil en combinación con --crear-ackrc si tu realmente desea personalizar ack.

- [no] ignorar-dir =NOMBRE DIR., - [no] ignorar-directorio =NOMBRE DIR.
Ignorar directorio (ya que se ignoran CVS, .svn, etc.). Puede usarse varias veces para ignorar
múltiples directorios. Por ejemplo, los usuarios de albañiles pueden desear incluir --ignore-dir = datos.
La --noignore-dir La opción permite a los usuarios buscar directorios que normalmente serían
ignorado (tal vez para investigar el contenido de .svn / props directorios).

La NOMBRE DIR. siempre debe ser un nombre de directorio simple. Directorios anidados como foo / bar
NO son compatibles. Necesitarías especificar --ignore-dir = foo y luego no hay archivos de
ack tiene en cuenta cualquier directorio foo a menos que se indique explícitamente en el comando
la línea.

--ignore-file =TIPO DE FILTRO: FILTERARGS
Ignorar archivos coincidentes TIPO DE FILTRO: FILTERARGS. Los filtros se especifican de forma idéntica a
filtros de tipo de archivo como se ve en "Definición de sus propios tipos".

-k, --tipos conocidos
Limite los archivos seleccionados a aquellos con tipos que conozca ack. Esto es equivalente a
el comportamiento predeterminado que se encuentra en ack 1.

--lines =NUM
Solo línea de impresión NUM de cada archivo. Se pueden dar varias líneas con múltiples --líneas
opciones o como una lista separada por comas (--líneas = 3,5,7). --líneas = 4-7 también funciona. los
las líneas siempre se emiten en orden ascendente, sin importar el orden dado en el comando
la línea.

-l, --archivos-con-coincidencias
Imprima solo los nombres de archivo de los archivos coincidentes, en lugar del texto coincidente.

-L, --archivos-sin-coincidencias
Imprima solo los nombres de los archivos que no NOT partido.

--fósforo PATRÓN
Especifica el PATRÓN explícitamente. Esto es útil si no desea poner la expresión regular como
su primer argumento, por ejemplo, al ejecutar varias búsquedas sobre el mismo conjunto de archivos.

# buscar foo y bar en archivos dados
ack file1 t / file * --match foo
ack file1 t / file * - barra de coincidencias

-m =NUM, --max-count =NUM
Dejar de leer un archivo después NUM partidos.

--hombre
Imprima esta página de manual.

-n, --no recurrente
No descender a subdirectorios.

-o Mostrar solo la parte de cada línea que coincide con el PATRÓN (desactiva el resaltado de texto)

--salida =expr
Salida de la evaluación de expr para cada línea (desactiva el resaltado de texto) Si PATTERN
coincidencias más de una vez, se genera una línea para cada coincidencia no superpuesta. Para más
información, consulte la sección "Ejemplos de --producción".

--pager =programa, --nopager
--buscapersonas dirige la salida de ack a través de programa. Esto también se puede especificar a través del
Variables de entorno "ACK_PAGER" y "ACK_PAGER_COLOR".

El uso de --pager no suprime la agrupación y el color como la salida de tubería en el
la línea de comandos lo hace.

--nopager cancela cualquier ajuste en ~ / .ackrc, "ACK_PAGER" o "ACK_PAGER_COLOR". No
la salida se enviará a través de un buscapersonas.

--pasar a través de
Imprime todas las líneas, coincidan o no con la expresión. Resaltando todavía
Sin embargo, funciona, por lo que se puede utilizar para resaltar coincidencias sin dejar de ver todo
archivo, como en:

# Ver un archivo de registro y resaltar una determinada dirección IP
$ cola -f ~ / access.log | acuse de recibo --passthru 123.45.67.89

--imprimir0
Solo funciona junto con -f, -g, -l o -c (salida de nombre de archivo). Los nombres de archivo son
salida separada con un byte nulo en lugar del salto de línea habitual. Esto es útil cuando
tratar con nombres de archivos que contienen espacios en blanco, p. ej.

# eliminar todos los archivos de tipo html
acuse de recibo -f --html --print0 | xargs -0 rm -f

-Q, --literal
Cite todos los metacaracteres en PATTERN, se trata como un literal.

-r, -R, --recurrencia
Recurrir a subdirectorios. Este es el valor predeterminado y solo está aquí para compatibilidad con
grep. También puedes usarlo para girar. --no recurrente apagado.

-s Suprima los mensajes de error sobre archivos inexistentes o ilegibles. Esto se toma de
fgrep.

- [no] estuche inteligente, --no-caso-inteligente
Ignore mayúsculas y minúsculas en las cadenas de búsqueda si PATTERN no contiene caracteres en mayúscula. Este es
similar a "smartcase" en vim. Esta opción está desactivada de forma predeterminada y se ignora si "-i" está
especificado.

-i siempre anula esta opción.

--ordenar archivos
Ordena los archivos encontrados lexicográficamente. Use esto si desea que sus listados de archivos
ser determinista entre corridas de acuse de recibo.

--mostrar-tipos
Genera los tipos de archivo que ack asocia con cada archivo.

Funciona con -f y -g .

--type = [no] TYPE
Especifique los tipos de archivos para incluir o excluir de una búsqueda. TYPE es un tipo de archivo,
como uno perl or xml. --tipo = perl también se puede especificar como --perlay --tipo = noperl can
hacerse como --noperl.

Si un archivo es de tipo "foo" y "bar", especificar --foo y --nobar excluirá
el archivo, porque una exclusión tiene prioridad sobre una inclusión.

Las especificaciones de tipo se pueden repetir y se combinan con OR.

See acuse de recibo --help = tipos para obtener una lista de tipos válidos.

--escribir-añadir TIPO:FILTRO:FILTROS
Los archivos con los FILTERARGS dados aplicados al FILTER dado se reconocen como de
(el existente) escriba TYPE. Consulte también "Definición de sus propios tipos".

- conjunto de tipos TIPO:FILTRO:FILTROS
Los archivos con los FILTERARGS dados aplicados al FILTER dado se reconocen como de
escriba TYPE. Esto reemplaza una definición existente para el tipo TYPE. Consulte también "Definición
sus propios tipos ".

--tipo-del TIPO
Los filtros asociados con TYPE se eliminan de Ack y ya no se consideran
para búsquedas.

-v, --invertir partido
Invertir coincidencia: seleccione líneas que no coincidan

--versión
Muestra información sobre la versión y los derechos de autor.

-w, --palabra-regexp
Forzar PATTERN para que coincida solo con palabras completas. El PATRÓN está envuelto con "\ b"
metacaracteres.

-x Una abreviatura de --files-from = -; la lista de archivos para buscar se lee de estándar
entrada, con una línea por archivo.

-1 Se detiene después de informar el primer partido de cualquier tipo. Esto es diferente de --máx-recuento = 1
or -m1, donde solo se muestra una coincidencia por archivo. También, -1 con obras -f y -g, donde el
-m no.

--thpppt
Muestre el importantísimo logotipo de Bill The Cat. Tenga en cuenta que la ortografía exacta de
--thpppppt no es importante. Se compara con una expresión regular.

--bar
Consulte con el almirante si hay trampas.

--cathy
¡Chocolate, chocolate, chocolate!

.ackrc ARCHIVO


La .ackrc El archivo contiene opciones de la línea de comandos que se anteponen a la línea de comandos.
antes de procesar. Varias opciones pueden vivir en varias líneas. Líneas que comienzan con #
son ignorados. A .ackrc podría verse así:

# Siempre ordena los archivos
--ordenar archivos

# Siempre coloree, incluso si se conecta a otro programa
--color

# Use "menos -r" como mi localizador
- paginador = menos -r

Tenga en cuenta que los argumentos con espacios en ellos no necesitan ser citados, ya que no son
interpretado por el caparazón. Básicamente, cada línea en la categoría Industrial. .ackrc el archivo se interpreta como uno
elemento de @ARGV.

acuse de recibo busca en varios lugares para .ackrc archivos; el proceso de búsqueda se detalla en
"SEMÁNTICA DE UBICACIÓN ACKRC". Estos archivos no se consideran si --noenv se especifica en el
línea de comando.

Definición su propia tipos


ack le permite definir sus propios tipos además de los tipos predefinidos. Esto esta hecho
con opciones de línea de comando que se colocan mejor en un .ackrc archivo - entonces no es necesario
defina sus tipos una y otra vez. En los siguientes ejemplos, las opciones siempre
mostrarse en una línea de comando para que se puedan copiar y pegar fácilmente.

acuse de recibo --perla foo busca foo en todos los archivos perl. acuse de recibo --help = tipos te dice que perl
Los archivos son archivos que terminan en .pl, .pm, .pod o .t. Entonces, ¿qué pasa si desea incluir .xs
archivos también al buscar archivos --perl? acuse de recibo --escribir-añadir perl: ext: xs --perla foo
este para ti. --escribir-añadir agrega extensiones adicionales a un tipo existente.

Si desea definir un nuevo tipo o redefinir completamente un tipo existente, utilice
- conjunto de tipos. acuse de recibo - conjunto de tipos eiffel: ext: e, eiffel define el tipo Eiffel para incluir archivos
con las extensiones .e o .eiffel. Entonces, para buscar todos los archivos eiffel que contengan la palabra
Uso de Bertrand acuse de recibo - conjunto de tipos eiffel: ext: e, eiffel --eiffel Bertrand. Como de costumbre, también puede
escribir --tipo = eiffel en lugar de --eiffel. La negación también funciona, así que --noeiffel excluye a todos
archivos eiffel de una búsqueda. La redefinición también funciona: acuse de recibo - conjunto de tipos cc: ext: c, h y .xs archivos
ya no pertenece al tipo cc.

Al definir sus propios tipos en el .ackrc archivo tienes que utilizar lo siguiente:

--type-set = eiffel: ext: e, eiffel

o escribiendo en líneas separadas

- conjunto de tipos
eiffel: ext: e, eiffel

Lo siguiente hace NOT trabajar en el .ackrc archivo:

- conjunto de tipos eiffel: ext: e, eiffel

Para ver todos los tipos definidos actualmente, utilice --tipos de ayuda, p.ej acuse de recibo - conjunto de tipos
copia de seguridad: ext: bak --escribir-añadir perl: ext: perl --tipos de ayuda

Además del filtrado basado en la extensión (como ack 1.x permitido), ack 2 ofrece
tipos de filtros adicionales. La sintaxis genérica es - conjunto de tipos TIPO: FILTRO: FILTERARGS;
FILTROS depende del valor de FILTRO.

:NOMBRE DEL ARCHIVO
is los filtros coinciden exactamente con el nombre del archivo de destino. Se necesita exactamente un argumento, que es
el nombre del archivo para que coincida.

Ejemplo:

--type-set make: es: Makefile

ext:EXTENSIÓN[,EXTENSIÓN2[, ...]]
ext Los filtros hacen coincidir la extensión del archivo de destino con una lista de extensiones. No
Se necesita un punto inicial para las extensiones.

Ejemplo:

- conjunto de tipos de perl: ext: pl, pm, t

juego:PATRÓN
partido Los filtros hacen coincidir el nombre del archivo de destino con una expresión regular. El regular
La expresión no distingue entre mayúsculas y minúsculas para la búsqueda.

Ejemplo:

--type-set make: match: / (gnu)? makefile /

coincidencia de primera línea:PATRÓN
primera linea hace coincidir la primera línea del archivo de destino con una expresión regular.
Como partido, la expresión regular no distingue entre mayúsculas y minúsculas.

Ejemplo:

--type-add perl: firstlinematch: / perl /

Es posible que en el futuro estén disponibles más tipos de filtros.

MEDIO AMBIENTE VARIABLES


Para las opciones de ack de uso común, las variables de entorno pueden hacer la vida mucho más fácil. Estas
las variables se ignoran si --noenv se especifica en la línea de comando.

ACKRC
Especifica la ubicación del usuario .ackrc expediente. Si este archivo no existe, acuse de recibo
busca en la ubicación predeterminada.

ACK_OPCIONES
Esta variable especifica las opciones predeterminadas que se colocarán delante de cualquier opción explícita
en la línea de comando.

ACK_COLOR_NOMBRE DE ARCHIVO
Especifica el color del nombre del archivo cuando se imprime en --grupo modo. Por defecto,
es "verde intenso".

Los atributos reconocidos son claro, restablecer, oscuro, negrita, subrayado, subrayado, parpadeo,
reverso, oculto negro, rojo, verde, amarillo, azul, magenta, on_black, on_red,
on_green, on_yellow, on_blue, on_magenta, on_cyan y on_white. El caso no es
significativo. El subrayado y el subrayado son equivalentes, al igual que borrar y restablecer. los
color solo establece el color de primer plano y on_color establece el color de fondo.

Esta opción también se puede configurar con --color-nombre de archivo.

ACK_COLOR_COINCIDIR
Especifica el color del texto coincidente cuando se imprime en --color modo. Por defecto,
es "negro sobre_amarillo".

Esta opción también se puede configurar con --coincidencia de color.

See ACK_COLOR_NOMBRE DE ARCHIVO para las especificaciones de color.

ACK_COLOR_LINENO
Especifica el color del número de línea cuando se imprime en --color modo. Por defecto, es
"amarillo negrita".

Esta opción también se puede configurar con --color-lineno.

See ACK_COLOR_NOMBRE DE ARCHIVO para las especificaciones de color.

ACK_PAGER
Especifica un programa de buscapersonas, como "más", "menos" o "la mayoría", al que se enviará ack
su salida.

El uso de "ACK_PAGER" no suprime la agrupación y el color como la salida de tubería en el
la línea de comandos lo hace, excepto que en Windows ack asumirá que "ACK_PAGER" no
color de apoyo.

"ACK_PAGER_COLOR" anula "ACK_PAGER" si se especifican ambos.

ACK_PAGER_COLOR
Especifica un programa de buscapersonas que comprende las secuencias de colores ANSI. Utilizando
"ACK_PAGER_COLOR" no suprime la agrupación y el color como la salida de tubería en el
la línea de comandos lo hace.

Si no está en Windows, nunca necesita usar "ACK_PAGER_COLOR".

DISPONIBLE COLORES


acuse de recibo utiliza los colores disponibles en el módulo Term :: ANSIColor de Perl, que proporciona
siguientes valores enumerados. Tenga en cuenta que el caso no importa cuando se utilizan estos valores.

Primer plano colores
negro rojo verde amarillo azul magenta cian blanco

Bright_black Bright_red Bright_green Bright_yellow
Bright_blue Bright_magenta Bright_cyan Bright_white

Antecedentes colores
en_negro en_rojo en_verde en_amarillo
en_azul en_magenta en_cian en_blanco

encendido_brillante_negro encendido_brillante_rojo encendido_brillante_verde encendido_brillante_amarillo
en_azul_brillante en_magenta_brillante en_cian_brillante en_blanco_brillante

ACK & OTROS HERRAMIENTAS


Empuje integración
acuse de recibo se integra fácilmente con el editor de texto Vim. Pon esto en tu .vimrc que se utilizará acuse de recibo
of grep:

establecer grepprg = ack \ -k

Ese ejemplo usa "-k" para buscar solo archivos del tipo que ack conoce, pero usted
puede usar otras banderas predeterminadas. Ahora puedes buscar con acuse de recibo y pasar fácilmente por el
resultados en Vim:

: grep Dumper perllib

Miles Sterrett ha escrito un complemento de Vim para acuse de recibo que le permite utilizar ": Ack" en lugar de
": grep", así como otras funciones avanzadas.



emacs integración
Phil Jackson armó un ack.el extensión que "proporciona un modo de compilación simple ...
tiene la capacidad de adivinar qué archivos desea buscar en función del modo principal ".

<http://www.shellarchive.co.uk/content/emacs.html>

TextMate integración
Pedro Melo es un usuario de TextMate que escribe "Paso mi día principalmente dentro de TextMate, y el
el hallazgo integrado en el proyecto apesta con proyectos grandes. Así que pirateé un comando de TextMate que
estaba usando find + grep para usar ack. El resultado es la búsqueda en el proyecto con ack, y
puedes encontrarlo aquí:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

Cáscara y Ida y vuelta Código
Para una mayor compatibilidad con grep, acuse de recibo en uso normal devuelve el código de salida o retorno de shell
de 0 solo si se encuentra algo y de 1 si no se encuentra ninguna coincidencia.

(El código de salida de Shell 1 es "$? = 256" en Perl con "system" o comillas invertidas).

La grep no se utiliza el código 2 para errores.

Si se especifican "-f" o "-g", se devuelve 0 si se encuentra al menos un archivo. Si no
se encuentran los archivos, luego se devuelve 1.

DEPURACIÓN ACK PROBLEMAS


Si ack le da un resultado que no espera, comience con unos simples pasos.

Usa --noenv
Tus variables de entorno y .ackrc puede estar haciendo cosas que no esperabas, o
olvidado que especificaste. Usar --noenv ignorar tu entorno y .ackrc.

Usa -f a ver what archivos have been seleccionado
Ack's -f se agregó originalmente como una herramienta de depuración. Si ack no encuentra coincidencias contigo
creo que debería encontrar, correr acuse de recibo -f para ver qué archivos se han seleccionado. También puede agregar
las opciones "--show-types" para mostrar el tipo de cada archivo seleccionado.

Usa --vertedero
Aquí se enumeran los archivos ackrc que se cargan y las opciones que se cargan desde ellos. Así que para
Por ejemplo, puede encontrar una lista de directorios que no se buscan o donde se encuentran los tipos de archivo.
definido.

Pronósticos


Usa de la forma más .ackrc archivo.
La .ackrc es el lugar para poner todas las opciones que usa la mayor parte del tiempo pero no quiere
recordar. Ponga todas sus definiciones --type-add y --type-set en él. Si te gusta
--smart-case, colóquelo allí también. También configuré --sort-files allí.

Usa -f for trabajando con a lo grande conjuntos de códigos
Ack hace más que buscar archivos. "ack -f --perl" creará una lista de todos los archivos Perl
en un árbol, ideal para enviar a xargs. Por ejemplo:

# Cambie todo "esto" por "aquello" en todos los archivos Perl en un árbol.
ack -f --perl | xargs perl -p -i -e's / this / that / g '

o si lo prefieres:

perl -p -i -e's / this / that / g '$ (ack -f --perl)

Usa -Q when in duda del metacaracteres
Si está buscando algo con un metacarácter de expresión regular, la mayoría de las veces un
punto en un nombre de archivo o dirección IP, agregue la -Q para evitar falsos positivos sin todos los
backslashing. Vea el siguiente ejemplo para más ...

Usa acuse de recibo a reloj log archivos
Aquí hay uno que usé el otro día para encontrar puntos problemáticos para un visitante del sitio web. El usuario tenía
un problema al cargar problemome.gif, así que tomé el registro de acceso y lo escaneé con ack dos veces.

ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 problemome.gif

El primer ack encuentra solo las líneas en el registro de Apache para la IP dada. El segundo encuentra
la coincidencia en mi GIF problemático, y muestra las cinco líneas anteriores del registro en cada
.

Ejemplos of --producción
Las siguientes variables son útiles en la cadena de expansión:

$ & Toda la cadena emparejada por PATTERN.

$ 1, $ 2, ...
El contenido del primer, segundo ... grupo entre corchetes en PATTERN.

"$" "
La cadena antes del partido.

PS
La cadena después del partido.

Para obtener más detalles y otras variables, consulte
<http://perldoc.perl.org/perlvar.html# Variables-relacionadas-con-expresiones-regulares | perlvar>.

Este ejemplo muestra cómo agregar texto alrededor de un patrón en particular (en este caso agregando _
alrededor de la palabra con "e")

ack2.pl "\ w * e \ w *" quick.txt --output = "$` _ $ & _ $ '"
_El_ rápido zorro marrón salta sobre el perro perezoso
El veloz zorro marrón salta sobre el perro perezoso
El veloz zorro marrón salta sobre _el_ perro perezoso

Esto muestra cómo seleccionar partes particulares de una coincidencia usando () dentro de
expresión.

ack '= cabeza (\ d +) \ s + (. *)' --salida = '$ 1: $ 2'
el archivo de entrada contiene "= head1 NAME"
salida "1: NAME"

Compartir su especialistas
Únase a la lista de correo de ack-users. Envíame tus consejos y puedo agregarlos aquí.

Preguntas Frecuentes


¿Por qué elegir la no es acuse de recibo la búsqueda de a partido in (algunos expediente)?
Probablemente porque es de un tipo que ack no reconoce. El comportamiento de búsqueda de ack es
impulsado por el tipo de archivo. If acuse de recibo no se know what tipo of presentar it es, acuse de recibo ignora de la forma más archivo.

Utilice el interruptor "-f" para ver una lista de archivos que ack buscará por usted. Puedes usar el
"--show-types" cambia para mostrar qué tipo cree ack que es cada archivo.

No lo haria it be maravillosa if acuse de recibo did Buscar & ¿reemplazar?
No, ack siempre será de solo lectura. Perl tiene una manera perfecta de buscar y reemplazar en
archivos, usando los interruptores "-i", "-p" y "-n".

Ciertamente, puede usar ack para seleccionar los archivos que desea actualizar. Por ejemplo, para cambiar todo
"foo" a "bar" en todos los archivos PHP, puede hacer esto desde el shell de Unix:

$ perl -i -p -e's / foo / bar / g '$ (ack -f --php)

Can I make acuse de recibo reconocer .xyz los archivos?
¡Sí! Consulte "Definición de sus propios tipos". Si lo crees acuse de recibo debería reconocer un tipo
de forma predeterminada, consulte "MEJORAS".

Hay ya haya utilizado a programa / paquete , que son ack
Sí, lo sé.

¿Por qué elegir la is it , que son acuse de recibo if es , que son ¿ack-grep?
El nombre del programa es "ack". Algunos empaquetadores lo han llamado "ack-grep" al crear
paquetes porque ya hay un paquete llamado "ack" que no tiene nada que ver
con este ack.

Te sugiero que hagas un enlace simbólico llamado acuse de recibo eso apunta a grep de reconocimiento porque uno de los cruciales
Los beneficios de ack son tener un nombre tan corto y sencillo de escribir.

Para hacer eso, ejecute esto con sudo o como root:

ln -s / usr / bin / ack-grep / usr / bin / ack

Alternativamente, puede usar un alias de shell:

# bash / zsh
alias ack = ack-grep

# caja
alias ack ack-grep

Los acuse de recibo significa?
Nada. Quería un nombre que fuera fácil de escribir y que pudieras pronunciar como un solo
sílaba.

Can I do multilínea expresiones regulares?
No, ack no admite expresiones regulares que coincidan con varias líneas. Hacerlo requeriría
leyendo todo el archivo a la vez.

Si desea ver líneas cerca de su coincidencia, use los interruptores "--A", "--B" y "--C" para
Mostrar contexto.

¿Por qué elegir la is acuse de recibo narración me I have an inválido opción when búsqueda for "+ foo"?
ack trata las opciones de la línea de comandos que comienzan con "+" o "-" como opciones; Si a ti te gustaría
busque estos, puede prefijar el término de búsqueda con "-" o usar la opción "--match".
(¡Sin embargo, no olvide que "+" es un metacarácter de expresión regular!)

¿Por qué elegir la "ack '. {40000,}' " ¿fallar? No es en la a IMPORTANTE expresión regular?
El lenguaje Perl limita el cuantificador de repetición a 32K. Puede buscar ". {32767}"
pero no ". {32768}".

ACKRC SEMÁNTICA


Ack puede cargar su configuración desde muchas fuentes. Esta lista especifica las fuentes Ack
busca configuración; cada uno que se encuentra se carga en el orden especificado aquí, y
cada uno anula las opciones establecidas en cualquiera de las fuentes que lo preceden. (Por ejemplo, si configuro
--sort-files en mi usuario ackrc, y --nosort-files en la línea de comando, la línea de comando
toma precedencia)

· Los valores predeterminados se cargan desde App :: Ack :: ConfigDefaults. Esto se puede omitir usando
"--ignore-ack-defaults".

· Ackrc global

A continuación, las opciones se cargan desde el ackrc global. Se encuentra en "/ etc / ackrc" en
Sistemas similares a Unix.

En Windows XP y versiones anteriores, el ackrc está en "C: \ Documents and Settings \ All
Usuarios \ Datos de aplicación \ ackrc ".

En Windows Vista / 7, el ackrc global está en "C: \ ProgramData"

La opción "--noenv" evita que se carguen todos los archivos ackrc.

· Usuario ackrc

Luego, las opciones se cargan desde el archivo ackrc del usuario. Se encuentra en "$ HOME / .ackrc" en
Sistemas similares a Unix.

En Windows XP y versiones anteriores, el ackrc del usuario está en "C: \ Documentos y
Configuración \ $ USUARIO \ Datos de aplicación \ ackrc ".

En Windows Vista / 7, el ackrc del usuario está en .

Si desea cargar un ackrc de nivel de usuario diferente, se puede especificar con $ ACKRC
Variable ambiental.

La opción "--noenv" evita que se carguen todos los archivos ackrc.

· Proyecto ackrc

A continuación, las opciones se cargan desde el proyecto ackrc. El proyecto ackrc es el primer ackrc
archivo con el nombre ".ackrc" o "_ackrc", primero buscando en el directorio actual,
luego el directorio principal, luego el directorio de los abuelos, etc. Esto se puede omitir
usando "--noenv".

· --Ackrc

La opción "--ackrc" puede incluirse en la línea de comando para especificar un archivo ackrc que
puede anular todos los demás. Se consulta incluso si "--noenv" está presente.

· ACK_OPCIONES

A continuación, las opciones se cargan desde la variable de entorno "ACK_OPTIONS". Esto puede ser
omitido usando "--noenv".

· Línea de comando

Luego, las opciones se cargan desde la línea de comando.

DIFERENCIAS ENTRE ACK 1.X Y ACK 2.X


Se realizaron muchos cambios para ack 2; aquí hay una lista de ellos.

GENERAL CAMBIOS
· Cuando no se especifican selectores, ack 1.x solo busca en los archivos que puede asignar
a un tipo de archivo. ack 2.x, por el contrario, buscará a través de todos los
archivo que no se ignora explícitamente a través de --ignorar-archivo or --ignorar-dir. Es
similar al comportamiento de la -a / - todos opción en ack 1.x.

· Se ha agregado un sistema de filtro más flexible, de modo que se puedan utilizar tipos de archivos más potentes.
creado por el usuario. Para obtener más información, consulte "Definición de sus propios tipos".

· Ack ahora carga varios archivos ackrc; consulte "SEMÁNTICA DE UBICACIÓN ACKRC" para obtener más detalles.

· Las definiciones de filtro predeterminadas de ack no son especiales; puedes decirle a ack que completamente
ignórelos si no le gustan.

REMOTO OPCIONES
· Debido al cambio en el comportamiento de búsqueda predeterminado, el -a / - todos y -u / - sin restricciones
Se han eliminado las opciones. además, el -k / - tipos-conocidos se agregó la opción a
hacer que ack se comporte con el comportamiento de búsqueda predeterminado de ack 1.x.

· Los -G La opción ha sido eliminada. Dos expresiones regulares en la línea de comando eran
considerado demasiado confuso; para simular -Gfuncionalidad, puede utilizar la nueva -x
opción para canalizar nombres de archivos de una invocación de ack a otra.

· Los --binario se ha eliminado la opción.

· Los --saltado se ha eliminado la opción.

· Los --texto se ha eliminado la opción.

· Los --invertir-archivo-coincidencia La opción ha sido eliminada. En su lugar, puede utilizar -v con -g.

Cambiado OPCIONES
· Las opciones que modifican el comportamiento de la expresión regular (-i, -w, -Qy -v) puede ahora
ser usado con -g.

ADICIONAL OPCIONES
· --archivos-de se agregó para que un usuario pueda enviar una lista de nombres de archivo como una lista de
archivos para buscar.

· -x se agregó para decirle a ack que acepte una lista de nombres de archivo a través de la entrada estándar; esta lista
es la lista de nombres de archivos que se utilizarán para la búsqueda.

· -s se agregó para decirle a ack que suprima los mensajes de error sobre inexistentes o ilegibles
archivos.

· --ignore-directorio y --noignore-directorio fueron agregados como alias para --ignorar-dir y
--noignore-dir respectivamente.

· --ignorar-archivo se agregó para que los usuarios puedan especificar patrones de archivos para ignorar (ej.
/.* ~ $ /).

· --vertedero se agregó para permitir a los usuarios averiguar fácilmente qué opciones están configuradas y dónde.

· --crear-ackrc fue agregado para que los usuarios puedan crear archivos ackrc personalizados basados ​​en el
configuración predeterminada cargada por ack, y para que los usuarios puedan ver fácilmente esos valores predeterminados.

· --tipo-del se agregó para eliminar de forma selectiva las definiciones de tipo de archivo.

· --ignore-ack-valores predeterminados se agregó para que los usuarios puedan ignorar las opciones predeterminadas de ack en
favor de los suyos.

· --bar se agregó para que los usuarios de ack puedan consultar al almirante Ackbar.

Use ack-grepp en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad