grep 仅以 get_ 开头的整个单词

grep 仅以 get_ 开头的整个单词

在我的文件中,我想要grep以 开头的整个单词get_

示例:o/p 应该是:

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]

答案1

使用这个(GNU grep):

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

或使用 perl :

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

或使用 awk :

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

输出

get_ports
get_clocks
get_pins

答案2

问题:

grep 只显示以 get_ 开头的整个单词

回答:

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

测试运行:

==> 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

相关内容