我有一个看起来像这样的字符串:
app/views/pages/_my_events_for_ba.html.erb:11: ba_mbn_programs = Program.ba_and_managed_bar.all(:conditions => "user_programs.user_id = #{current_user.id} and brand_id = #{brand.id}", :order => :name, :joins => [:user_programs], :select => "distinct programs.*")
我正在尝试隔离行号11
和文件名app/views/pages/_my_events_for_ba.html.erb
,以便我可以通过vim +11 app/views/pages/_my_events_for_ba.html.erb
打开带有这些参数的vim。
但是我无法像我想要的那样让sed的比赛工作。我的尝试适用于vim的正则表达式,但不适用于sed:
sed 's/\(.*\):\([0-9]\+\).*/\1 \2/p'
答案 0 :(得分:4)
您可以使用awk
:
awk -F: '{print $1, $2}'
正则表达式解决方案可能如下所示:
sed -r 's/([^:]*):([0-9]*):.*/\1 \2/'