grep apenas palavras inteiras começando com get_ [closed]

0

No meu arquivo, quero grep palavras inteiras que começam com get_ .

Exemplo: o / p deve ser:

set_output_delay -clock clk_i  3  [get_ports xyz]
set_clock_latency 0  [get_clocks clock]
set_disable_timing [get_pins u_phy/enable]
    
por Vishal Patel 13.09.2018 / 14:17

2 respostas

1

Use isso (GNU grep):

grep -oP '\[\Kget_\S+' file

ou com perl:

perl -lne 'print $& if /\[\Kget_\S+/' file

ou com o awk:

awk -F'[ \[]' '{print $1}' file

Saída

get_ports
get_clocks
get_pins
    
por 13.09.2018 / 14:38
0

Pergunta:

grep only whole word starting with get_

Resposta:

grep -P -o '\bget_.*?\b'

Execução de teste:

==> input.txt <==
set_output_delay get_post -clock clk_i 3 [get_ports xyz]
set_clock_latency 0 [get_clocks clock] ==>get_lost<==
set_disable_timing [get_pins u_phy/enable]
$ grep -P -o '\bget_.*?\b' input.txt
get_post
get_ports
get_clocks
get_lost
get_pins
    
por 13.09.2018 / 16:29

Tags