2009-10-14 89 views
3

我们假定我们有这个输出在bash控制台:在bash输出如何解析链接

$ findgrep RAILS_ENV         
./script/munin_stats:7:RAILS_ENV = ENV['RAILS_ENV'] || "development" 
./script/munin_stats:12: dbconfig = dbhash[RAILS_ENV]    
./lib/tasks/juggernaut.rake:4: @rails_env = ENV["RAILS_ENV"] || "development"        
./lib/tasks/cruise.rake:19: ENV['RAILS_ENV'] = 'test'              
./lib/tasks/populate.rake:15:  dumper = MysqlDumper.new(ActiveRecord::Base.configurations[RAILS_ENV])  
./lib/tasks/populate.rake:21:  dumper = MysqlDumper.new(ActiveRecord::Base.configurations[RAILS_ENV])  
./lib/tasks/populate.rake:29:  RAILS_ENV = "test" 

如何创建的文件名(例如” ./script/munin_stats:7' )可点击的链接(例如Ctrl +点击),它将在我最喜欢的编辑器中打开选定的文件?

+2

你在哪里见过bash中的“可点击链接”? – 2009-10-14 10:07:42

+0

@Laurence:大多数终端仿真程序在控制台输出中实现与网络链接相似的功能。 – 2009-10-14 10:10:33

+0

关于unix.se的相同问题:http://unix.stackexchange.com/questions/63417/ – sendmoreinfo 2016-02-13 17:04:22

回答

1

这更多的是终端模拟器(例如,xterm或gnome-terminal)的功能而不是bash。受欢迎的urxvt终端仿真程序(例如apt-get install rxvt-unicode)在Perl中是可扩展的,所以应该可以编写urxvt过滤器以根据选择执行选择并执行编辑器。

默认的“选择弹出式”脚本(请参阅Perl source here)已经识别出您选择了文件:数字模式并提供了将其转换为vi命令的选项,该命令将在右侧打开文件。

+0

是的,它不是reall解决方案: 1.必须单击 2.然后在菜单选项再次单击去年 3.切换回到Vi, 4.在vi 5膏鼠标中键进入命令模式 6.按enter键 所以这6个步骤compated原问题需要1步。如果你每天这样做100次,它就会有很大的不同。 – Rubycut 2012-07-29 09:38:41

0

如果你不介意使用GUI显示列表,你可以尝试zenity:

vi `findgrep RAILS_ENV * | cut -f 1 -d : | zenity --list --column Files` 

注意:如果你显示你(喜欢)使用的终端仿真器也可能是有用的。