shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Casar parte de linha com sed e grep


From: Moacir Souza
Subject: Re: [shell-script] Casar parte de linha com sed e grep
Date: Wed, 3 Jul 2013 00:21:06 -0300

     Opa,

     Passei batido em uma das coisas que você falou: os cjob's podem conter
espaços. Para isso, eu gosto de usar uma mistura de rev com cut (acho
divertido e funciona em muitos casos, embora não para todos, claro,
especialmente se você tiver que se preocupar com desempenho):

moacir $ cat a
Job: name=c1job JobType=66 level=Incremental Priority=10 Enabled=1
Job: name=c2 job JobType=66 level=Incremental Priority=10 Enabled=1
Job: name=c3job JobType=66 level=Incremental Priority=10 Enabled=1

moacir $ cut -d '=' -f 2 a | rev | cut -d " " -f 2- | rev
c1job
c2 job
c3job

[]'s,
M.



2013/7/3 Moacir Souza <address@hidden>

>      Hum,
>
>      Se o arquivo for bem simples como o do exemplo, dois cut's resolvem:
>
> moacir $ cat a
>
> Job: name=c1job JobType=66 level=Incremental Priority=10 Enabled=1
> Job: name=c2job JobType=66 level=Incremental Priority=10 Enabled=1
> Job: name=c3job JobType=66 level=Incremental Priority=10 Enabled=1
>
> moacir $ cut -d '=' -f 2 a | cut -d " " -f 1
> c1job
> c2job
> c3job
>
>      Removi os "blablabla" porque, seja o que forem, para ignorá-los,
> basta adicionar um grep "^Job" aos cut's, por exemplo.
>
> []'s,
> M.
>
>
>
> 2013/7/2 Eduardo Júnior <address@hidden>
>
>> Pessoal, tenho o seguinte arquivo exemplo:
>>
>> $ cat arq.txt
>>
>> blalblabla
>> Job: name=c1job JobType=66 level=Incremental Priority=10 Enabled=1
>> Job: name=c2job JobType=66 level=Incremental Priority=10 Enabled=1
>> Job: name=c3job JobType=66 level=Incremental Priority=10 Enabled=1
>> blalbalala
>>
>> Preciso pegar somente o que está entre 'name=' e 'JobType', ou seja:
>> c1job,
>> c2job... Estes nomes podem conter espaços (c1 job, c 2 job...).
>>
>> Consegui com o comando:
>>
>> $ grep -o '=.*J' arq.txt | sed 's/^=*//;s/[J ]*$//'
>>
>> Acho que compliquei demais e gostaria da ajuda de vcs para simplificar.
>>
>> Valeu.
>>
>> --
>>
>> Eduardo Moura da Silva Junior.
>>
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> Esta lista não admite a abordagem de outras liguagens de programação,
>> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
>> prévio aviso.
>> ---------------------------------------------------------------------
>> Sair da lista: address@hidden
>> ---------------------------------------------------------------------
>> Esta lista é moderada de acordo com o previsto em
>> http://www.listas-discussao.cjb.net
>> ---------------------------------------------------------------------
>> Servidor Newsgroup da lista: news.gmane.org
>> Grupo: gmane.org.user-groups.programming.shell.brazil
>>
>> Links do Yahoo! Grupos
>>
>>
>>
>
>
> --
> ==========================================
> Moacir da Cruz Souza Filho
>
> Analista de Sistemas: Suporte Unix Avançado
> Mestrando em Ciências da Computação
> Bacharel em Engenharia da Computação
> Técnico em Eletrônica
> Linux user #449600
> ==========================================
>



-- 
==========================================
Moacir da Cruz Souza Filho

Analista de Sistemas: Suporte Unix Avançado
Mestrando em Ciências da Computação
Bacharel em Engenharia da Computação
Técnico em Eletrônica
Linux user #449600
==========================================


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]