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
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]
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
get_ports
get_clocks
get_pins
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