The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Regex pppswing Programação Shell Script e 5 06-30-2008 10:22
Um simples localizar e substituir, sem usar qualquer regex (bash) srikanths Programação Shell Script e 2 03-18-2008 08:08
Regex deepakpv Programação Shell Script e 6 03-28-2007 04:18
Regex? Please help lunac UNIX para Dummies Perguntas & Respostas 7 01-30-2007 01:13
sed regex Shakey21 UNIX para Dummies Perguntas & Respostas 4 01-31-2002 09:16

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-31-2008
evilfreakz evilfreakz is offline
Usuário
  
 

Join Date: Aug 2008
Posts: 3
Precisa de Ajuda com Regex Simples

Tenho uma pergunta. Como fazer isso? E eu quero dizer, em expressão regex.

Lista todos os arquivos no diretório atual, que não contenham as palavras usar E pegar.

Thx.
  #2 (permalink)  
Old 08-31-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Supondo que você queira uma resposta mais do que uma teoria, algo como

Código:
for f in *; do
  grep use "$f" >/dev/null && continue
  grep take "$f" >/dev/null && continue
  # file contains neither if we get to here; report its file name
  echo "$f"
done
Se você realmente se exigir que esta a ser feito exclusivamente nas expressões regulares, não existe uma maneira simples para especificar isso em expressões regulares. Teoricamente poderia haver um operador & paralelas para o operador |, mas, na prática, é bastante inútil, e também dificulta a motor regex um pouco justo (se me lembro o teor da investigação documentos sobre este assunto corretamente).
  #3 (permalink)  
Old 08-31-2008
Lakris Lakris is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 246
Desde o início da minha cabeça, gostaria de usar algo como

Código:
grep -L use $(grep -L take *.txt)
o que significa, em primeiro lugar (no prenthesis) encontrar todos os ficheiros que não contenham a palavra ter, e nessa lista de arquivos, encontrar todos os arquivos que não contenham a palavra usar.
Mas eu tenho certeza que existe uma maneira de usar ou na regexp ..

/ Lakris
  #4 (permalink)  
Old 08-31-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.307
Usar egrep, pesquisa para $ var1 OU $ var2:

Código:
egrep "[$var1]|[$var2]" file
Inverta jogo:

Código:
egrep -v "[$var1]|[$var2]" file
Pesquisar por $ var1 E $ var2:

Código:
egrep "$var1.*$var2|$var2.*$var1" file
Inverta jogo:

Código:
egrep -v "$var1.*$var2|$var2.*$var1" file
Atenciosamente

Última edição por Franklin52; em 08/31/2008 06:29.. Motivo: Adicionando invertido jogo
  #5 (permalink)  
Old 08-31-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Mensagens: 2.533
Penso OP significa a expressão "utilização" e "ter" não deve estar no arquivo. Portanto, o egrep solução não irá funcionar é a "utilização" e "ter" são, em linhas separadas.
  #6 (permalink)  
Old 08-31-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.307
Citação:
Originally Posted by ghostdog74 View Post
Penso OP significa a expressão "utilização" e "ter" não deve estar no arquivo. Portanto, o egrep solução não irá funcionar é a "utilização" e "ter" são, em linhas separadas.
Desculpe, apenas desperto , Tenho de ler a questão cuidadosamente.

Atenciosamente
  #7 (permalink)  
Old 08-31-2008
Lakris Lakris is offline
Usuário
  
 

Join Date: Oct 2007
Lugares: 246
inútil utilização de gato?

Acho que me interpretou mal o OP, agora aqui é a minha supersilly superuseless utilização de gato e canalização ...

Código:
for x in *.txt;do cat $x|tr "\n" " "|egrep '(use.*take|take.*use)'&>/dev/null; [ $? == 1 ] && echo $x;done
mas acho que ela recebe o trabalho feito?

/ Lakris
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 08:55.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0