extrai os caracteres antes () usando grep

11

Eu preciso extrair os caracteres antes do caractere '('. Minha estrutura de arquivos é:

rose(good)ook

daisy()no

lilly(bad)fine

sunflower()nice

Eu preciso do arquivo de saída como na forma de:

rose

daisy

lilly

sunflower

alguém pode dizer o comando para isso .....

awk, grep ou sed são preferíveis ...

    
por Rincy Raphael 02.04.2014 / 10:24

4 respostas

7

Uma alternativa sed solution:

sed 's/(.*//' file
    
por 02.04.2014 / 10:32
6

Usando cut :

$ <file cut -d \( -f 1
rose

daisy

lilly

sunflower

Usando sed :

$ <file sed -e 's/\(.*\)(.*$//'
rose

daisy

lilly

sunflower
    
por 02.04.2014 / 10:29
3

Uma solução awk :

$ awk -F'(' '{print $1}' file
rose

daisy

lilly

sunflower

ou GNU grep :

grep -oP '.*?(?=\()' file
    
por 02.04.2014 / 10:25
0

Você pode usar o comando cut:

cut -f1 -d "(" file_name
    
por 02.04.2014 / 10:36

Tags