Wildcards ajuda

Iniciado por alpha11, 15 de Abril de 2012, 18:28

tópico anterior - próximo tópico

alpha11

Olá

Gostaria de saber como posso num ficheiro usar o mostrar e selecionar alguns elementos com o wildcard
eu pus isso


cat  *[!astrmz] grupos

Mas aparece-me tudo em vários ficheiros e só queria nesse.

Alguma dica?

cumps

zekkerj

#1
O wildcard faz parte do nome? Se fizer, é só colocar um "\" antes do wildcard.

Mas se vc quer encontrar um texto dentro do arquivo, pode usar o comando "egrep", que usa expressões regulares. Note que as expressões regulares são ligeiramente diferentes dos wildcards para indicar nomes de arquivos.

Se eu entendi direito o que vc quer fazer, seria algo como

egrep ".*[!astrmz]" grupos

Esse comando mostraria todas as linhas do arquivo "grupos" que não tivessem letras "a", "s", "t", "r", "m" ou "z".
Mas em se tratando de expressões regulares... leva um bom tempo até que a expressão que a gente escreve faça o que a gente quer que ela faça. Então talvez vc pudesse explicar um pouco melhor quais elementos vc quer encontrar (dica: com exemplos fica mais fácil de entender), e quais vc não quer encontrar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

alpha11

Olá

Obrigado pela dica

É assim,tenho de listar todos os utilizadores do sistema que não tenham como últimos carateres [ast].
O ficheiro onde estão os users é o /etc/group, tenho de escolher a 4ª coluna que é onde estão os utilizadores.

Já tentei esse mas aparece tudo....

zekkerj

CitarO ficheiro onde estão os users é o /etc/group

Hã??? Tem certeza de que não é o /etc/passwd?

Citartenho de listar todos os utilizadores do sistema que não tenham como últimos carateres [ast].

Pode ser um pouco mais claro? É pra identificar os utilizadores que não terminem em "a", "s" ou "t" ("maria", "elias", "marat"), ou os que não terminam em "ast" ("fast", "plast", "crast")?

Citartenho de escolher a 4ª coluna que é onde estão os utilizadores.

Hmmm.... trabalhar com colunas, vc vai precisar de outro aplicativo: o "tr". Esse aplicativo separa e filtra as colunas desejadas.

man tr

Mas... isso que vc quer fazer não vai funcionar. Nem todos os usuários são cadastrados no arquivo /etc/groups (apesar de isso ir contra a documentação).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

irtigor

Eu usaria o awk, dê uma olhada.

zekkerj

Brrrr. O awk me dá calafrios.

Mas sim, ele seria uma alternativa.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Tota

Aguardamos 48 horas para as providências quanto a alterar o titulo do topico

Usuario não logou desde então

Topico trancado

Se desejar, refaça seu topico dentro das regras do forum

[]'s