InglêsFrancêsEspanhol

Ad


favicon do OnWorks

ack-grepp - Online na nuvem

Execute ack-grepp no ​​provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando ack-grepp que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


ack - localizador de texto semelhante ao grep

SINOPSE


ack [opções] PADRÃO [ARQUIVO ...]
ack -f [opções] [DIRETÓRIO ...]

DESCRIÇÃO


Ack é projetado como uma alternativa para grep para programadores.

Ack procura os ARQUIVOS de entrada nomeados (ou entrada padrão se nenhum arquivo for nomeado, ou o arquivo
nome - é fornecido) para linhas contendo uma correspondência para o PADRÃO fornecido. Por padrão, ack
imprime as linhas correspondentes.

PATTERN é uma expressão regular Perl. Expressões regulares Perl são comumente encontradas em
outras linguagens de programação, mas para os detalhes de seu comportamento, consulte
<http://perldoc.perl.org/perlreref.html| perlreref>. Se você não sabe como usar
expressão, mas estão interessados ​​em aprender, você pode consultar
<http://perldoc.perl.org/perlretut.html| perlretut>. Se você não precisa ou deseja que o ack use
expressões regulares, consulte a opção "-Q" / "- literal".

O Ack também pode listar arquivos que seriam pesquisados, sem realmente pesquisá-los, para permitir
você aproveita os recursos de filtragem de tipo de arquivo do ack.

ARQUIVO SELEÇÃO


Se os arquivos não forem especificados para pesquisa, na linha de comando ou canalizados com o
opção "-x", ack investiga subdiretórios selecionando arquivos para pesquisa.

ack é inteligente sobre os arquivos que pesquisa. Ele conhece certos tipos de arquivo, com base
na extensão do arquivo e, em alguns casos, no conteúdo do arquivo. Esses
as seleções podem ser feitas com o --modelo opção.

Sem seleção de arquivo, ack pesquisa em arquivos regulares que não são explicitamente
excluído por --ignore-dir e --ignore-arquivo opções, presentes em ackrc arquivos ou em
a linha de comando.

As opções padrão para ack ignore certos arquivos e diretórios. Esses incluem:

· Arquivos de backup: Arquivos correspondentes # * # ou terminando com ~.

· Coredumps: Correspondência de arquivos core. \ d +

· Diretórios de controle de versão como .svn e .ir.

Execute ack com a opção "--dump" para ver quais configurações estão definidas.

O Mercado Pago não havia executado campanhas de Performance anteriormente nessas plataformas. Alcançar uma campanha de sucesso exigiria ack sempre pesquisa os arquivos fornecidos na linha de comando, não importa o tipo. Se
você conta ack para pesquisar em um coredump, ele pesquisará em um coredump.

DIRETÓRIO SELEÇÃO


ack desce pela árvore de diretórios dos diretórios iniciais especificados. Se não
diretórios são especificados, o diretório de trabalho atual é usado. No entanto, ele irá ignorar
os diretórios sombra usados ​​por muitos sistemas de controle de versão e os diretórios de construção
usado pelo sistema Perl MakeMaker. Você pode adicionar ou remover um diretório desta lista com
que o - [não] ignore-dir opção. A opção pode ser repetida para adicionar / remover vários diretórios
da lista de ignorados.

Para obter uma lista completa dos diretórios que não foram pesquisados, execute "ack --dump".

QUANDO TO USO GREP


ack trunfos grep como uma ferramenta diária 99% do tempo, mas não jogue grep longe porque
há momentos em que você ainda precisará dele.

Por exemplo, pesquisar em arquivos enormes em busca de regexes que podem ser expressas com grep
a sintaxe deve ser mais rápida com grep.

Se o seu script ou programa pai usa grep "--quiet" ou "--silent" ou precisa da saída 2 em IO
erro, use grep.

OPÇÕES


--ackrc
Especifica um arquivo ackrc para carregar após todos os outros; veja "ACKRC LOCATION SEMMANTICS".

-A NUM, --after-context =NUM
Impressão NUM linhas de contexto à direita após as linhas correspondentes.

-B NUM, --before-context =NUM
Impressão NUM linhas de contexto inicial antes de combinar as linhas.

--[sem pausas
Imprima uma pausa entre os resultados de arquivos diferentes. Ativado por padrão quando usado
interativamente.

-C [NUM], --context [=NUM]
Impressão NUM linhas (padrão 2) de contexto em torno das linhas correspondentes.

-c, --contar
Suprime a saída normal; em vez disso, imprima uma contagem de linhas correspondentes para cada arquivo de entrada.
If -l está em vigor, ele só mostrará o número de linhas para cada arquivo que possui linhas
Coincidindo. Sem -l, algumas contagens de linha podem ser zeros.

Se combinado com -h (--no-nome do arquivo) ack gera apenas uma contagem total.

- [sem] cor, - [sem] cor
--cor destaca o texto correspondente. --sem cor suprime a cor. Isso está ligado por
padrão, a menos que a saída seja redirecionada.

No Windows, esta opção está desativada por padrão, a menos que o módulo Win32 :: Console :: ANSI seja
instalado ou a variável de ambiente "ACK_PAGER_COLOR" é usada.

--color-filename =cor
Define a cor a ser usada para nomes de arquivos.

--color-match =cor
Define a cor a ser usada nas correspondências.

--color-lineno =cor
Define a cor a ser usada para os números das linhas.

- coluna [não]
Mostra o número da coluna da primeira correspondência. Isso é útil para editores que podem colocar
o cursor em uma determinada posição.

--criar-ackrc
Despeja as opções de confirmação padrão para a saída padrão. Isso é útil quando você deseja
personalizar os padrões.

--jogar fora
Grava a lista de opções carregadas e de onde vieram na saída padrão. Acessível
para depuração.

- [não] env
--noenv desativa todo o processamento do ambiente. Não .ackrc é lido e todo o ambiente
variáveis ​​são ignoradas. Por padrão, ack considera .ackrc e configurações no
ambiente.

--rubor
--rubor libera a saída imediatamente. Está desativado por padrão, a menos que o ack esteja em execução
interativamente (quando a saída vai para um canal ou arquivo).

-f Imprima apenas os arquivos que serão pesquisados, sem realmente fazer nenhuma pesquisa.
PATTERN não deve ser especificado, ou será considerado um caminho para pesquisa.

--files-from =ARQUIVO
A lista de arquivos a serem pesquisados ​​é especificada em ARQUIVO. A lista de arquivos são
separados por novas linhas. Se ARQUIVO é "-", a lista é carregada da entrada padrão.

--[Sem filtro
Força o ack a agir como se estivesse recebendo entrada por meio de um pipe.

--[não siga
Siga ou não siga os links simbólicos, exceto os arquivos ou diretórios iniciais
foram especificados na linha de comando.

Isso está desativado por padrão.

-g PADRONIZAR
Imprimir arquivos onde o caminho relativo + nome do arquivo correspondam PADRONIZAR. Esta opção pode ser
combinada com --cor para facilitar a localização da correspondência.

- [nenhum] grupo
--grupo agrupa correspondências por nome de arquivo. Este é o padrão quando usado interativamente.

--nogrupo imprime um resultado por linha, como grep. Este é o padrão quando a saída é
redirecionado.

-H, --com-nome do arquivo
Imprima o nome do arquivo para cada correspondência. Este é o padrão, a menos que esteja procurando um único
arquivo explicitamente especificado.

-h, --no-nome do arquivo
Suprime a prefixação de nomes de arquivos na saída quando vários arquivos são pesquisados.

- [sem] título
Imprime um título de nome de arquivo acima dos resultados de cada arquivo. Este é o padrão quando usado
interativamente.

--Socorro, -?
Imprima uma breve declaração de ajuda.

--help-types, --help = tipos
Imprima todos os tipos conhecidos.

-i, --ignorar caso
Ignorar distinções de maiúsculas e minúsculas em PATTERN

--ignore-ack-defaults
Diz ao ack para ignorar completamente as definições padrão fornecidas com ack. Isto é
útil em combinação com --criar-ackrc se você clientes deseja personalizar o ack.

- [não] ignore-dir =DIRNAME, - [não] ignore-directory =DIRNAME
Ignore o diretório (visto que CVS, .svn, etc. são ignorados). Pode ser usado várias vezes para ignorar
vários diretórios. Por exemplo, usuários de pedreiro podem desejar incluir --ignore-dir = data.
A --noignore-dir opção permite aos usuários pesquisar diretórios que normalmente seriam
ignorado (talvez para pesquisar o conteúdo de .svn / props diretórios).

A DIRNAME deve ser sempre um nome de diretório simples. Diretórios aninhados como foo / bar
NÃO são suportados. Você precisaria especificar --ignore-dir = foo e então nenhum arquivo de
qualquer diretório foo é levado em consideração pelo ack a menos que seja explicitamente fornecido no comando
linha.

--ignore-file =FILTERTYPE: FILTERARGS
Ignorar arquivos correspondentes FILTERTYPE: FILTERARGS. Os filtros são especificados de forma idêntica para
filtros de tipo de arquivo, conforme visto em "Definindo seus próprios tipos".

-k, --tipos-conhecidos
Limite os arquivos selecionados àqueles com tipos que o ack conhece. Isso é equivalente a
o comportamento padrão encontrado na confirmação 1.

--lines =NUM
Apenas linha de impressão NUM de cada arquivo. Várias linhas podem ser fornecidas com vários --linhas
opções ou como uma lista separada por vírgulas (--lines = 3,5,7). --lines = 4-7 também funciona. o
as linhas são sempre produzidas em ordem crescente, não importa a ordem dada no comando
linha.

-l, --arquivos com correspondências
Imprima apenas os nomes dos arquivos correspondentes, em vez do texto correspondente.

-L, --files-without-match
Imprima apenas os nomes dos arquivos que fazem NÃO partida.

--partida PADRONIZAR
Especifique o PADRONIZAR explicitamente. Isso é útil se você não quiser colocar o regex como
seu primeiro argumento, por exemplo, ao executar pesquisas múltiplas no mesmo conjunto de arquivos.

# pesquisa por foo e bar em determinados arquivos
ack arquivo1 t / arquivo * --match foo
ack arquivo1 t / arquivo * - barra de correspondência

-m =NUM, --max-count =NUM
Pare de ler um arquivo depois NUM fósforos.

--cara
Imprima esta página do manual.

-n, --sem recursão
Sem descer em subdiretórios.

-o Mostrar apenas a parte de cada linha correspondente a PADRÃO (desativa o realce do texto)

--output =expr
Produza a avaliação de expr para cada linha (desativa o realce de texto) Se PATTERN
corresponde mais de uma vez, então uma linha é produzida para cada correspondência não sobreposta. Para mais
informações consulte a seção "Exemplos de --resultado".

--pager =programa, --nopager
--pager direciona a saída do ack por meio de programa. Isso também pode ser especificado por meio do
Variáveis ​​de ambiente "ACK_PAGER" e "ACK_PAGER_COLOR".

Usar --pager não suprime agrupamento e coloração como saída de tubulação no
a linha de comando sim.

--nopager cancela qualquer configuração em ~ / .ackrc, "ACK_PAGER" ou "ACK_PAGER_COLOR". Não
a saída será enviada por meio de um pager.

--passar através
Imprime todas as linhas, quer correspondam ou não à expressão. Destacando ainda
funcionar, portanto, pode ser usado para destacar as correspondências e ainda ver todo o
arquivo, como em:

# Assistir a um arquivo de log e destacar um determinado endereço IP
$ cauda -f ~ / access.log | ACK --passthru 123.45.67.89

--print0
Só funciona em conjunto com -f, -g, -l ou -c (saída do nome do arquivo). Os nomes dos arquivos são
saída separada por um byte nulo em vez da nova linha usual. Isso é útil quando
lidar com nomes de arquivos que contêm espaços em branco, por exemplo

# remove todos os arquivos do tipo html
ack -f --html --print0 | xargs -0 rm -f

-Q, --literal
Cite todos os metacaracteres em PATTERN, é tratado como um literal.

-r, -R, --recurso
Recurse em subdiretórios. Este é o padrão e apenas aqui para compatibilidade com
grep. Você também pode usá-lo para virar --sem recursão fora.

-s Suprima mensagens de erro sobre arquivos inexistentes ou ilegíveis. Isto é tirado de
fgrep.

- [não] caso inteligente, - no-smart-case
Ignore maiúsculas e minúsculas nas strings de pesquisa se PATTERN não contiver caracteres maiúsculos. Isto é
semelhante a "smartcase" no vim. Esta opção está desativada por padrão e ignorada se "-i" for
Especificadas.

-i sempre substitui esta opção.

--sort-arquivos
Classifica os arquivos encontrados lexicograficamente. Use-o se quiser que suas listas de arquivos
seja determinista entre as corridas de ack.

--show-types
Produz os tipos de arquivos que se associam a cada arquivo.

Funciona com -f e -g opções.

--tipo = [não] TIPO
Especifique os tipos de arquivos a serem incluídos ou excluídos de uma pesquisa. TYPE é um tipo de arquivo,
como perl or xml. --type = perl também pode ser especificado como --perl e --type = noperl pode
ser feito como --noperl.

Se um arquivo for do tipo "foo" e "bar", especificar --foo e --nobar excluirá
o arquivo, porque uma exclusão tem precedência sobre uma inclusão.

As especificações de tipo podem ser repetidas e combinadas com OR.

See ack --help = tipos para obter uma lista de tipos válidos.

--type-adicionar TIPO:FILTRO:FILTERARGOS
Arquivos com os FILTERARGS dados aplicados ao FILTRO fornecido são reconhecidos como sendo de
(o existente) digite TYPE. Consulte também "Definindo seus próprios tipos".

--formatado TIPO:FILTRO:FILTERARGOS
Arquivos com os FILTERARGS dados aplicados ao FILTRO fornecido são reconhecidos como sendo de
digite TYPE. Isso substitui uma definição existente para o tipo TYPE. Veja também "Definindo
seus próprios tipos ".

--type-del TIPO
Os filtros associados a TYPE são removidos do Ack e não são mais considerados
para pesquisas.

-v, --invert-match
Inverter correspondência: selecione as linhas não correspondentes

--versão
Versão de exibição e informações de direitos autorais.

-w, --palavra-regexp
Força PATTERN a corresponder apenas a palavras inteiras. O PADRÃO é empacotado com "\ b"
metacaracteres.

-x Uma abreviatura para --files-from = -; a lista de arquivos a pesquisar são lidos do padrão
entrada, com uma linha por arquivo.

-1 Pára após relatar a primeira correspondência de qualquer tipo. Isso é diferente de --max-count = 1
or -m1, onde apenas uma correspondência por arquivo é mostrada. Também, -1 trabalha com -f e -g, Onde
-m não.

--thpppt
Exiba o importantíssimo logotipo Bill The Cat. Observe que a grafia exata de
--thpppppt não é importante. É verificado em relação a uma expressão regular.

--Barra
Verifique com o almirante se há armadilhas.

--cathy
Chocolate, Chocolate, Chocolate!

A .ackrc ARQUIVO


A .ackrc arquivo contém opções de linha de comando que são anexadas à linha de comando
antes do processamento. Várias opções podem viver em várias linhas. Linhas começando com um #
são ignorados. UMA .ackrc pode ser assim:

# Sempre classifique os arquivos
--sort-arquivos

# Sempre pinte, mesmo se estiver direcionando para outro programa
--cor

# Use "less -r" como meu pager
--pager = menos -r

Observe que os argumentos com espaços não precisam ser citados, pois não são
interpretado pelo shell. Basicamente, cada linha no .ackrc arquivo é interpretado como um
elemento de @ARGV.

ack procura em vários locais por .ackrc arquivos; o processo de pesquisa é detalhado em
"ACKRC LOCATION SEMANTICS". Esses arquivos não são considerados se --noenv é especificado no
linha de comando.

Definindo os próprio tipos


O ack permite que você defina seus próprios tipos, além dos tipos predefinidos. Isso está feito
com opções de linha de comando que são melhor colocadas em um .ackrc arquivo - então você não precisa
defina seus tipos uma e outra vez. Nos exemplos a seguir, as opções sempre serão
ser mostrados em uma linha de comando para que possam ser facilmente copiados e colados.

ack --perl Foo procura foo em todos os arquivos perl. ack --help = tipos diz a você, aquele perl
os arquivos são arquivos que terminam em .pl, .pm, .pod ou .t. E se você quiser incluir .xs
também ao pesquisar por arquivos --perl? ack --type-adicionar perl: ext: xs --perl Foo parece
isso para você. --type-adicionar acrescenta extensões adicionais a um tipo existente.

Se você quiser definir um novo tipo ou redefinir completamente um tipo existente, use
--formatado. ack --formatado eiffel: ext: eiffel define o tipo eiffel incluir arquivos
com as extensões .e ou .eiffel. Então, para pesquisar todos os arquivos eiffel que contenham a palavra
Bertrand usa ack --formatado eiffel: ext: eiffel - Eiffel Bertrand. Como de costume, você também pode
escrever --type = eiffel em vez de - Eiffel. A negação também funciona, então --noeiffel exclui tudo
arquivos Eiffel de uma pesquisa. A redefinição também funciona: ack --formatado cc: ext: c, h e .xs arquivos
não pertence mais ao tipo cc.

Ao definir seus próprios tipos no .ackrc arquivo, você deve usar o seguinte:

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

ou escrevendo em linhas separadas

--formatado
eiffel: ext: eiffel

O seguinte faz NÃO trabalhar no .ackrc arquivo:

- eiffel definido por tipo: ramal: e, eiffel

Para ver todos os tipos definidos atualmente, use --help-types, por exemplo ack --formatado
backup: ext: bak --type-adicionar perl: ext: perl --help-types

Além de filtrar com base na extensão (como ack 1.x permitido), ack 2 oferece
tipos de filtro adicionais. A sintaxe genérica é --formatado TIPO: FILTRO: FILTERARGS;
FILTERARGOS depende do valor de FILTRO.

é:NOME DO ARQUIVO
is os filtros correspondem exatamente ao nome do arquivo de destino. Leva exatamente um argumento, que é
o nome do arquivo para corresponder.

Exemplo:

--type-set make: is: Makefile

ramal:EXTENSÃO[,EXTENSÃO 2[, ...]]
ext os filtros combinam a extensão do arquivo de destino com uma lista de extensões. Não
O ponto inicial é necessário para as extensões.

Exemplo:

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

partida:PADRONIZAR
partida os filtros correspondem ao nome do arquivo de destino em uma expressão regular. O regular
a expressão torna-se insensível a maiúsculas e minúsculas para a pesquisa.

Exemplo:

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

partida de primeira linha:PADRONIZAR
primeira linha corresponde à primeira linha do arquivo de destino em relação a uma expressão regular.
Como partida, a expressão regular não fará distinção entre maiúsculas e minúsculas.

Exemplo:

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

Mais tipos de filtro podem ser disponibilizados no futuro.

MEIO AMBIENTE VARIÁVEIS


Para opções de ack comumente usadas, as variáveis ​​de ambiente podem tornar a vida muito mais fácil. Esses
variáveis ​​são ignoradas se --noenv é especificado na linha de comando.

ACKRC
Especifica a localização do usuário .ackrc Arquivo. Se este arquivo não existir, ack
olha no local padrão.

ACK_OPTIONS
Esta variável especifica as opções padrão a serem colocadas na frente de quaisquer opções explícitas
na linha de comando.

ACK_COLOR_FILENAME
Especifica a cor do nome do arquivo quando é impresso em --grupo modo. Por padrão,
é "verde em negrito".

Os atributos reconhecidos são claro, redefinir, escuro, negrito, sublinhado, sublinhado, piscar,
reverso, oculto preto, vermelho, verde, amarelo, azul, magenta, on_black, on_red,
on_green, on_yellow, on_blue, on_magenta, on_cyan e on_white. Caso não é
significativo. Sublinhado e sublinhado são equivalentes, pois são claros e redefinidos. o
somente a cor define a cor do primeiro plano e on_color define a cor do plano de fundo.

Esta opção também pode ser definida com --color-nome do arquivo.

ACK_COLOR_MATCH
Especifica a cor do texto correspondente quando impresso em --cor modo. Por padrão,
é "preto on_yellow".

Esta opção também pode ser definida com - match-match.

See ACK_COLOR_FILENAME para as especificações de cores.

ACK_COLOR_LINENO
Especifica a cor do número da linha quando impresso em --cor modo. Por padrão, é
"amarelo em negrito".

Esta opção também pode ser definida com --color-lineno.

See ACK_COLOR_FILENAME para as especificações de cores.

ACK_PAGER
Especifica um programa de pager, como "mais", "menos" ou "mais", para o qual o ack enviará
sua saída.

O uso de "ACK_PAGER" não suprime agrupamento e coloração como a saída de tubulação no
linha de comando sim, exceto que no Windows ack irá assumir que "ACK_PAGER" não
cor de suporte.

"ACK_PAGER_COLOR" substitui "ACK_PAGER" se ambos forem especificados.

ACK_PAGER_COLOR
Especifica um programa de pager que entende sequências de cores ANSI. Usando
"ACK_PAGER_COLOR" não suprime agrupamento e coloração como saída de tubulação no
a linha de comando sim.

Se você não estiver no Windows, nunca precisará usar "ACK_PAGER_COLOR".

DISPONÍVEL CORES


ack usa as cores disponíveis no módulo Term :: ANSIColor do Perl, que fornece o
seguintes valores listados. Observe que maiúsculas e minúsculas não importam ao usar esses valores.

Primeiro plano cores
preto vermelho verde amarelo azul magenta ciano branco

brilhante_preto brilhante_vermelho brilhante_verde brilhante_amarelo
brilhante_azul brilhante_magenta brilhante_ciano brilhante_branco

BACKGROUND cores
on_black on_red on_green on_yellow
on_blue on_magenta on_cyan on_white

on_bright_black on_bright_red on_bright_green on_bright_yellow
on_bright_blue on_bright_magenta on_bright_cyan on_bright_white

ACK & OUTROS FERRAMENTAS


Vim integração
ack integra-se facilmente com o editor de texto Vim. Defina isso em seu .vimrc usar ack em vez disso
of grep:

definir grepprg = ack \ -k

Esse exemplo usa "-k" para pesquisar apenas arquivos dos tipos que o ack conhece, mas você
pode usar outros sinalizadores padrão. Agora você pode pesquisar com ack e facilmente percorrer o
resultados no Vim:

: grep Dumper perllib

Miles Sterrett escreveu um plugin Vim para ack que permite que você use ": Ack" em vez de
": grep", bem como vários outros recursos avançados.



Emacs integração
Phil Jackson juntou um ack.el extensão que "fornece um modo de compilação simples ...
tem a capacidade de adivinhar quais arquivos você deseja pesquisar com base no modo principal. "

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

TextMate integração
Pedro Melo é um usuário do TextMate que escreve "Eu passo meu dia principalmente dentro do TextMate, e o
Find-in-project embutido é uma droga com grandes projetos. Então eu hackeei um comando TextMate que
estava usando find + grep para usar ack. O resultado é a Pesquisa no Projeto com ack, e você
pode encontrá-lo aqui:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

concha e Devolução Code
Para maior compatibilidade com grep, ack em uso normal retorna retorno de shell ou código de saída
de 0 apenas se algo for encontrado e 1 se nenhuma correspondência for encontrada.

(O código de saída 1 do shell é "$? = 256" em perl com "sistema" ou crases.)

A grep o código 2 para erros não é usado.

Se "-f" ou "-g" forem especificados, será retornado 0 se pelo menos um arquivo for encontrado. Se não
arquivos são encontrados, então 1 é retornado.

DEPURAÇÃO ACK PROBLEMAS


Se o ack fornecer uma saída inesperada, comece com algumas etapas simples.

Use --noenv
Suas variáveis ​​de ambiente e .ackrc pode estar fazendo coisas que você não espera, ou
esqueci que você especificou. Usar --noenv ignorar seu ambiente e .ackrc.

Use -f para Vejo o que arquivos sido selecionado
Ack's -f foi adicionado originalmente como uma ferramenta de depuração. Se o ack não está encontrando combina com você
acho que deveria encontrar, correr ack -f para ver quais arquivos foram selecionados. Você também pode adicionar
as opções "--show-types" para mostrar o tipo de cada arquivo selecionado.

Use --jogar fora
Isso lista os arquivos ackrc que são carregados e as opções carregadas a partir deles. Então para
por exemplo, você pode encontrar uma lista de diretórios que não são pesquisados ​​ou onde os tipos de arquivos estão
definiram.

DICAS


Use que o .ackrc arquivo.
A .ackrc é o lugar para colocar todas as opções que você usa na maioria das vezes, mas não quer
lembrar. Coloque todas as suas definições --type-add e --type-set nele. Se você gostar
--smart-case, configure-o lá também. Eu também defini --sort-files lá.

Use -f para trabalhar com big conjuntos de códigos
Ack faz mais do que pesquisar arquivos. "ack -f --perl" irá criar uma lista de todos os arquivos Perl
em uma árvore, ideal para enviar para xargs. Por exemplo:

# Altere tudo "isto" para "aquilo" em todos os arquivos Perl em uma árvore.
ack -f --perl | xargs perl -p -i -e's / this / that / g '

ou se preferir:

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

Use -Q quando in duvido sobre metacaracteres
Se você estiver procurando por algo com um metacaractere de expressão regular, na maioria das vezes um
ponto em um nome de arquivo ou endereço IP, adicione o -Q para evitar falsos positivos sem todos os
barra invertida. Veja o seguinte exemplo para mais ...

Use ack para Assistir log arquivos
Aqui está um que usei outro dia para encontrar pontos problemáticos para um visitante do site. O usuário tinha
um problema de carregamento problemático.gif, então peguei o log de acesso e fiz a varredura com ack duas vezes.

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

O primeiro ack encontra apenas as linhas no log do Apache para o IP fornecido. O segundo encontra
a correspondência no meu GIF problemático e mostra as cinco linhas anteriores do registro em cada
caso.

Exemplos of --resultado
As seguintes variáveis ​​são úteis na string de expansão:

$ & A string inteira correspondida por PATTERN.

$ 1, $ 2, ...
O conteúdo do primeiro, segundo ... grupo entre colchetes em PATTERN.

"$` "
A string antes da partida.

"$ '"
A string após a partida.

Para mais detalhes e outras variáveis, consulte
<http://perldoc.perl.org/perlvar.html# Variáveis ​​relacionadas a expressões regulares | perlvar>.

Este exemplo mostra como adicionar texto em torno de um padrão específico (neste caso, adicionar _
em torno da palavra com "e")

ack2.pl "\ w * e \ w *" quick.txt --output = "$` _ $ & _ $ '"
_A_ rápida raposa marrom pula sobre o cachorro preguiçoso
A rápida raposa marrom pula _ sobre_ o cão preguiçoso
A rápida raposa marrom salta sobre _o_ cachorro preguiçoso

Isso mostra como escolher partes específicas de uma correspondência usando () dentro de
expressão.

ack '= cabeça (\ d +) \ s + (. *)' - saída = '$ 1: $ 2'
o arquivo de entrada contém "= head1 NAME"
saída "1: NOME"

Partilhar os Conhecimento
Junte-se à lista de e-mails ack-users. Envie-me suas dicas e posso adicioná-las aqui.

Perguntas frequentes


Sua marca não é ack descoberta a partida in (alguns Arquivo)?
Provavelmente porque é de um tipo que o ack não reconhece. o comportamento de busca do ack é
conduzido por tipo de arquivo. If ack não sabemos o que tipo of lima it é, ack ignora que o arquivo.

Use a opção "-f" para ver uma lista de arquivos que o ack irá procurar por você. Você pode usar o
Chave "--show-types" para mostrar qual tipo o ack pensa que cada arquivo é.

Não iria it be ótimo if ack fez search & substituir?
Não, ack sempre será somente leitura. Perl tem uma maneira perfeitamente boa de fazer pesquisa e substituição em
, usando as opções "-i", "-p" e "-n".

Você certamente pode usar ack para selecionar seus arquivos a serem atualizados. Por exemplo, para mudar todos
"foo" para "bar" em todos os arquivos PHP, você pode fazer isso a partir do shell Unix:

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

lata I fazer ack reconhecer .xyz arquivos?
Sim! Consulte "Definindo seus próprios tipos". Se você pensa que ack deve reconhecer um tipo
por padrão, consulte "MELHORIAS".

a programa / pacote chamado reconheço.
Sim eu conheço.

Sua marca is it chamado ack if é chamado ack-grep?
O nome do programa é "ack". Alguns empacotadores chamam de "ack-grep" ao criar
pacotes porque já existe um pacote chamado "ack" que não tem nada a ver
com este ack.

Eu sugiro que você faça um link simbólico chamado ack que aponta para ack-grep porque um dos cruciais
benefícios de ack é ter um nome tão curto e simples de digitar.

Para fazer isso, execute isso com sudo ou como root:

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

Como alternativa, você pode usar um alias de shell:

# bash / zsh
alias ack = ack-grep

#csh
alias ack ack-grep

O Quê parece ack significa?
Nada. Eu queria um nome que fosse fácil de digitar e que você pudesse pronunciar como um único
sílaba.

lata I do multilinha expressões regulares?
Não, o ack não oferece suporte a regexes que correspondam a várias linhas. Fazer isso exigiria
lendo o arquivo inteiro de uma vez.

Se você quiser ver as linhas próximas à sua correspondência, use as chaves "--A", "--B" e "--C" para
exibindo o contexto.

Sua marca is ack dizendo me I an inválido opção quando pesquisar para "+ foo"?
ack trata as opções de linha de comando começando com "+" ou "-" como opções; se você gostaria de
para procurar por eles, você pode prefixar o termo de pesquisa com "-" ou usar a opção "--match".
(No entanto, não se esqueça de que "+" é um metacaractere de expressão regular!)

Sua marca parece "ack '. {40000,}' " falhou? Não é que a válido expressão regular?
A linguagem Perl limita o quanitificador de repetição a 32K. Você pode pesquisar por ". {32767}"
mas não ". {32768}".

ACKRC LOCALIZAÇÃO SEMÂNTICA


Ack pode carregar sua configuração de várias fontes. Esta lista especifica as fontes Ack
procura a configuração; cada um encontrado é carregado na ordem especificada aqui, e
cada um substitui as opções definidas em qualquer uma das fontes anteriores. (Por exemplo, se eu definir
--sort-files em meu usuário ackrc, e --nosort-files na linha de comando, a linha de comando
tem precedência)

· Os padrões são carregados de App :: Ack :: ConfigDefaults. Isso pode ser omitido usando
"--ignore-ack-defaults".

· Ackrc global

As opções são carregadas do ackrc global. Ele está localizado em "/ etc / ackrc" em
Sistemas semelhantes ao Unix.

No Windows XP e anteriores, o ackrc está em "C: \ Documents and Settings \ All
Users \ Application Data \ ackrc ".

No Windows Vista / 7, o ackrc global está em "C: \ ProgramData"

A opção "--noenv" impede que todos os arquivos ackrc sejam carregados.

· Usuário ackrc

As opções são carregadas do ackrc do usuário. Ele está localizado em "$ HOME / .ackrc" em
Sistemas semelhantes ao Unix.

No Windows XP e anteriores, a confirmação do usuário está em "C: \ Documentos e
Configurações \ $ USER \ Application Data \ ackrc ".

No Windows Vista / 7, a confirmação do usuário está em .

Se você quiser carregar um ackrc de nível de usuário diferente, ele pode ser especificado com $ ACKRC
variável de ambiente.

A opção "--noenv" impede que todos os arquivos ackrc sejam carregados.

· Projeto ackrc

As opções são carregadas do ackrc do projeto. O projeto ackrc é o primeiro ackrc
arquivo com o nome ".ackrc" ou "_ackrc", pesquisando primeiro no diretório atual,
em seguida, o diretório pai, o diretório dos avós, etc. Isso pode ser omitido
usando "--noenv".

· --Ackrc

A opção "--ackrc" pode ser incluída na linha de comando para especificar um arquivo ackrc que
pode substituir todos os outros. É consultado mesmo se "--noenv" estiver presente.

· ACK_OPTIONS

As opções são carregadas da variável de ambiente "ACK_OPTIONS". Isso pode ser
omitido usando "--noenv".

· Linha de comando

As opções são carregadas a partir da linha de comando.

DIFERENÇAS ENTRE ACK 1.X E ACK 2.X


Muitas alterações foram feitas para o ack 2; aqui está uma lista deles.

SUPORTE MUDANÇAS
· Quando nenhum seletor é especificado, o ack 1.x pesquisa apenas os arquivos que ele pode mapear
para um tipo de arquivo. ack 2.x, por outro lado, irá pesquisar em todos os regulares, não binários
arquivo que não é explicitamente ignorado por meio de --ignore-arquivo or --ignore-dir. Isto é
semelhante ao comportamento do -a / - tudo opção em ack 1.x.

· Um sistema de filtro mais flexível foi adicionado, de modo que tipos de arquivos mais poderosos podem ser
criado pelo usuário. Para obter detalhes, consulte "Definindo seus próprios tipos".

· Ack agora carrega vários arquivos ackrc; consulte "ACKRC LOCATION SEMANTICS" para obter detalhes.

· As definições de filtro padrão do ack não são especiais; você pode dizer a ack para completamente
desconsidere-os se não gostar deles.

REMOVIDO OPÇÕES
· Por causa da mudança no comportamento de pesquisa padrão, o -a / - tudo e -u / - irrestrito
opções foram removidas. Além disso, o -k / - tipos conhecidos opção foi adicionada a
fazer com que o ack se comporte com o comportamento de pesquisa padrão de ack 1.x.

· O -G opção foi removida. Duas expressões regulares na linha de comando foram
considerado muito confuso; Simular -Gfuncionalidade do, você pode usar o novo -x
opção de canalizar nomes de arquivos de uma invocação de ack para outra.

· O --binário opção foi removida.

· O --pulou opção foi removida.

· O --texto opção foi removida.

· O --invert-file-match opção foi removida. Em vez disso, você pode usar -v com -g.

MUDADO OPÇÕES
· As opções que modificam o comportamento da expressão regular (-i, -w, -Q e -v) pode agora
ser usado com -g.

ADICIONADO OPÇÕES
· --arquivos-de foi adicionado para que um usuário possa enviar uma lista de nomes de arquivos como uma lista de
arquivos para pesquisar.

· -x foi adicionado para dizer ao ack para aceitar uma lista de nomes de arquivos via entrada padrão; esta lista
é a lista de nomes de arquivos que serão usados ​​para a pesquisa.

· -s foi adicionado para dizer ao ack para suprimir mensagens de erro sobre inexistentes ou ilegíveis
arquivos.

· --ignore-diretório e --noignore-diretório foram adicionados como apelidos para --ignore-dir e
--noignore-dir respectivamente.

· --ignore-arquivo foi adicionado para que os usuários possam especificar padrões de arquivos a serem ignorados (por exemplo,
/.* ~ $ /).

· --jogar fora foi adicionado para permitir que os usuários descubram facilmente quais opções estão definidas e onde.

· --criar-ackrc foi adicionado para que os usuários possam criar arquivos ackrc personalizados com base no
configurações padrão carregadas por ack, para que os usuários possam visualizar facilmente esses padrões.

· --type-del foi adicionado para remover seletivamente as definições de tipo de arquivo.

· --ignore-ack-defaults foi adicionado para que os usuários possam ignorar as opções padrão do ack em
favor de seus próprios.

· --Barra foi adicionado para que os usuários ack possam consultar o Almirante Ackbar.

Use ack-grepp online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    limpeza profunda
    limpeza profunda
    Um script Kotlin que destrói todos os builds
    caches de projetos Gradle/Android.
    Útil quando o Gradle ou o IDE permitem que você
    abaixo. O script foi testado em
    macOS, mas...
    Baixar limpeza profunda
  • 2
    Plug-in Eclipse Checkstyle
    Plug-in Eclipse Checkstyle
    O plug-in Eclipse Checkstyle
    integra o código Java Checkstyle
    auditor no IDE Eclipse. O
    plug-in fornece feedback em tempo real para
    o usuário sobre viol ...
    Baixe o plug-in Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player é um media player gratuito
    software, parte baseado em WMP e VLC. o
    jogador é de estilo minimalista, com
    mais de dez cores temáticas, podendo também
    b ...
    Baixar AstrOrzPlayer
  • 4
    Movistartv
    Movistartv
    Kodi Movistar+ TV é um ADDON para XBMC/
    Kodi que permite dispor de um
    decodificador de serviços IPTV de
    Movistar integrado em um dos
    centros de mídia ma...
    baixar movistv
  • 5
    Código :: Blocos
    Código :: Blocos
    Code::Blocks é um software livre, de código aberto,
    plataforma cruzada C, C++ e Fortran IDE
    construído para atender às necessidades mais exigentes
    de seus usuários. Ele é projetado para ser muito
    extens ...
    Baixar Código::Blocos
  • 6
    Em meio a
    Em meio a
    No meio ou interface avançada do Minecraft
    e o Data / Structure Tracking é uma ferramenta para
    exibir uma visão geral de um Minecraft
    mundo, sem realmente criá-lo. Isto
    posso ...
    Baixar no meio
  • Mais "

Comandos Linux

Ad